本文主要是介绍如何将自己的python package打包成可以在其他电脑上安装的whl文件(超全面),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1.python中package包的建立
关于package包的建立参考本人的另一篇Blog。
2.package包打包成可离线安装的whl文件
在已有package包的情况下,对现有package进行打包,可参考如下链接,也可以参考本人后续的相关介绍:主要有如下两个关键
2.1 setup.py的位置
新建一个名为setup.py 的文件,将其放在package包(含有__init__.py的文件夹)的同一级目录。
2.2 setup.py的内容
需要特别注意的是,当需要的填写的模块有多个时,可通过 requires= ['numpy','matplotlib'] 形式进行填写
from setuptools import setup
setup(name='STFT',version='0.0.1',description='Short Time Fourier Transform',author='TXH',author_email='xxxxxx@qq.com',requires= ['numpy','matplotlib'], # 定义依赖哪些模块packages=['STFT','ISTFT','__init__'] #指定py文件,注意不要后缀)'''
name : 打包后包的文件名
version : 版本号
author : 作者
author_email : 作者的邮箱
py_modules : 要打包的.py文件
packages: 打包的python文件夹
include_package_data : 项目里会有一些非py文件,比如html和js等,这时候就要靠include_package_data 和 package_data 来指定了。package_data:一般写成{‘your_package_name’: [“files”]}, include_package_data还没完,还需要修改MANIFEST.in文件.MANIFEST.in文件的语法为: include xxx/xxx/xxx/.ini/(所有以.ini结尾的文件,也可以直接指定文件名)
license : 支持的开源协议
description : 对项目简短的一个形容
ext_modules : 是一个包含Extension实例的列表,Extension的定义也有一些参数。
ext_package : 定义extension的相对路径
requires : 定义依赖哪些模块
provides : 定义可以为哪些模块提供依赖
data_files :指定其他的一些文件(如配置文件),规定了哪些文件被安装到哪些目录中。如果目录名是相对路径,则是相对于sys.prefix或sys.exec_prefix的路径。如果没有提供模板,会被添加到MANIFEST文件中。
'''
2.3 打包
在powershell中cd到setup.py所在目录,并执行以下命令:
python setup.py bdist_wheel # 打包为whl文件
python setup.py sdist # 打包为tar.gz文件
打包后在dist目录下就可以找到打包后的文件
3.参考文献
建立package教程:https://blog.csdn.net/txh3093/article/details/106374412
package打包成whl教程:https://www.cnblogs.com/jruing/p/12650538.html
这篇关于如何将自己的python package打包成可以在其他电脑上安装的whl文件(超全面)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!