1.(看这篇就够了)python安装依赖(包)模块方法
2.Python 自己简单地造一个轮子.whl文件
3.python打包分发工具:setuptools
4.setuptools-python打包分发package
5.whl是什么文件
6.基于JetPack离线安装torch和编译安装torchvision(arm架构)
(看这篇就够了)python安装依赖(包)模块方法
Python作为一门功能强大的解释性编程语言,其生态系统的丰富得益于众多第三方模块或依赖。本文将深入讲解Python模块的安装方法。前提条件与环境设置
确保您的计算机已安装Python,可通过命令行检查版本。若pip命令不可用,诛仙客户端源码解析失败需将Python安装路径添加至系统环境变量。Python模块安装方式
Python模块安装主要有三种途径:pip、conda和easy_install。1. 通过pip安装
pip是Python的重要模块。首先检查pip是否已安装,可通过pip list查看。若无pip,需手动安装。安装完成后,可通过pip升级以优化使用体验。pip安装方法
在线安装:pip install 模块名
离线安装(whl包):在本地找到whl文件后,切换到文件夹并使用pip install
源码安装:找到源码setup.py,切换目录后使用pip install
技巧与国内镜像
如果pip路径未添加,可使用完整路径安装。为提高下载速度,可使用国内镜像,如豆瓣镜像:pip install -i pypi.douban.com/simple/ 模块名
常见国内镜像地址包括:阿里云、中国科技大学、奶粉溯源码复制清华大学等。通过以上步骤,您将能够熟练地在Python中安装和管理依赖模块,提升开发效率。
Python 自己简单地造一个轮子.whl文件
Python的世界中,我们常常依赖众多高效的第三方库,但有时网络问题会阻碍我们的使用。这时,为何不尝试自己动手制作一个.whl文件呢?这不仅能提升效率,也是一种贡献社区的方式。
当我们通过pip install来引用库时,通常是在网络环境中。然而,当网络状况不佳时,我们可以选择先将库下载到本地,使用pip install本地路径/包名.whl的方式加载。要实现这一点,首先需要整理你的项目结构。将代码和数据分开存放,为每个子目录添加__init__.py,以便于调用和打包。例如,你可能有shuru.py和data文件夹,java源码脱敏处理其中data文件夹包含文本文件,代码中通过绝对路径处理。
接下来,编写setup.py和MANIFEST.in文件是关键步骤。setup.py用来定义项目信息和打包设置,MANIFEST.in用于指定要包含的文件。执行命令行中的setup.py build,你的项目和数据就会被打包到.whl文件中。在build文件夹里,你会看到创建好的.whl文件,可以直接通过pip install命令安装。
为了验证成功,新建一个项目,导入你的.whl文件,运行后,它会出现在pip list的列表中。如果你需要源代码或工程文件,可以通过微信号bdb_获取。自己动手造轮子,既实用又充满成就感!
python打包分发工具:setuptools
setuptools是Python打包与分发的利器,它简化了库的创建与分发过程,使得开发者能够通过简单的py源码如何运行命令实现库的安装。
setuptools的前身是distutils,它提供了打包与分发的功能。setuptools的功能包括源码包和二进制包的创建。
源码包sdist是常见的压缩包形式,包含库的源码及一些静态文件。打包源码包主要使用setup.py,通过formats参数指定压缩格式。安装源码包可选择解压缩后安装或直接安装。
二进制包bdist以wheel形式存在,格式为.whl,无需编译,安装更快。打包与分发二进制包同样使用setup.py,通过formats参数指定格式。
setup.py是打包过程的核心,它控制了重要的配置信息。通过packages、include_package_data、exclude_package_data、package_data、data_files参数指定需要打包的文件。
setup.py参数packages用于指定需要打包的package,类型为list[str]。java源码开发培训find_packages和find_namespace_packages函数可快速找到所有package。
include_package_data参数用于根据MANIFEST.in文件打包非源码文件。package_data参数直接指定非源码文件。
依赖包的安装与版本管理由setup函数的install_requires、setup_requires、tests_require和extras_require参数实现。
对于python版本限制,使用python_requires参数指定。
setup函数的entry_points和scripts参数用于生成命令行脚本。而C/C++扩展则通过python setup.py build_ext --inplace命令进行编译。
主要通过setup函数的ext_modules参数进行C/C++扩展的编译,setuptools.Extension类用于指定扩展参数。setuptools.Extension用define_macros和undef_macros参数定义或取消定义宏。
自定义命令行为是setuptools的高级特性,通过继承setuptools.command类来实现。需要通过cmdclass参数告知setuptools,该参数是一个字典,key为命令名,value为继承的类。
setuptools-python打包分发package
setuptools是Python最常用的打包与分发工具,允许他人通过pip install轻松安装你的库。它基于distutils,但提供了更丰富的功能。setuptools可以将你的库打包为两种类型:源码包(source dist)和二进制包(binary dist)。
源码包(sdist)类似于.zip或.tar.gz文件,包含库的所有源代码和静态文件,如.txt、css、等。打包源码包通常使用setup.py命令,它需要配置打包信息,如格式参数(formats),默认根据平台创建.tar.gz或.zip文件。执行后,你会在项目目录下发现一个dist文件夹和egg-info文件夹。安装源码包时,可以选择先解压缩,或直接使用pip安装。
二进制包(bdist)主要使用wheel格式(.whl后缀),在某些场景下安装速度更快。打包二进制包同样使用setup.py,设置格式参数(formats)即可,另外提供了其他命令用于指定打包选项。安装二进制包只需pip命令。
setup.py是Python打包的核心文件,用于指定库的基本信息、打包的文件、依赖包以及版本控制等。它通过setuptools.setup函数控制整个打包过程。此函数包含多个参数,如packages、include_package_data、exclude_package_data、package_data、data_files等,用于指定需要打包的文件。include_package_data参数根据MANIFEST.in文件来打包非源码文件,而MANIFEST.in定义了如何打包这些文件。package_data参数直接指定要被打包的文件。
在库中管理依赖包的安装与版本控制是setuptools的重要功能,通过install_requires、setup_requires、tests_require、extras_require等参数实现。设置python环境的版本限制使用python_requires参数。若需要在系统环境path中生成可执行文件或脚本,使用setup函数的entry_points和scripts参数。对于C/C++扩展,使用setup.py来编译并集成到Python中,通过ext_modules参数配置。自定义命令也是进阶功能,允许用户扩展setuptools的功能。
whl是什么文件
WHL文件是一种后缀为“.whl”的文件格式。WHL文件的解释:
1. WHL文件的定义
WHL文件是Python编程语言的扩展包分发格式之一。Python是一种流行的编程语言,广泛用于数据分析、科学计算、Web开发等领域。为了管理和分发第三方开发的库和模块,Python社区采用了多种包管理方式,其中WHL文件就是一种常见的格式。它以二进制格式存储,包含了Python包及其依赖项,便于安装和分发。
2. WHL文件的特点
WHL文件具有高效、灵活的特点。由于是二进制格式,它通常比源代码格式的包更小,安装速度更快。同时,WHL文件是针对特定Python版本和操作系统构建的,确保了兼容性。它还支持Python的依赖管理机制,可以方便地安装和管理Python项目的各种依赖。
3. WHL文件的使用
要使用WHL文件,通常需要通过Python的包管理工具如pip进行安装。用户可以通过命令行工具或直接使用图形界面的包管理工具来安装WHL文件。在安装时,pip会根据用户的Python环境和操作系统自动选择合适的WHL文件进行安装,简化了第三方库的使用和管理。
总之,WHL文件是Python编程语言的扩展包分发格式之一,以二进制形式存储,具有高效、灵活的特点,便于安装和管理Python项目的第三方库和模块。
基于JetPack离线安装torch和编译安装torchvision(arm架构)
在搭建基于arm架构的AI服务过程中,我遇到了一些挑战并记录了相关步骤。首先,针对JetPack 5.1环境,需要从官网下载预先编译的torch离线包,适应Python3.8版本,并确保torch与torchvision版本对应。下载后的文件看起来是这样的:
离线文件下载后:
接着,将文件传至服务器,通过命令行安装,这里使用百度pip源加速依赖包的下载:
安装命令:
安装成功后,继续下载torchvision源码,例如0..0版本,解压并准备安装Pillow,因为torchvision需要它:
下载vision-0..0版本:
安装Pillow:
如果Pillow缺失,需要先安装。接下来,编译安装torchvision:
进入vision-0..0目录并编译安装:
这一步需要一些时间。为避免频繁编译,我们可以将源码转换为whl文件,便于后续快速安装:
源码转whl:
转换后的whl文件:
最后,你可以在dist文件夹中找到转换好的whl文件`torchvision-0..0-cp-cp-linux_aarch.whl`,将其保存备用,以备后续使用。这样,通过这些步骤,你就能在arm架构服务器上离线安装并编译torch和torchvision了。