如何把程序打包为whl
首先需要一个库:setuptools
如果是conda环境的话,这个包是自带的,不需要另外安装。
首先把需要打包的py文件放在一个文件夹内(我的文件夹名为coordTrans,记住这个名字,后面要用)。
同时,该文件夹内还需要有一个名字为__init__.py的文件,该py程序内容为空也可以,但必须有,因为这是包的引导初始化文件。
然后,在文件夹coordTrans的上一级文件夹内,创建setup.py程序,里面的内容如下:
setup.py
from setuptools import setup,find_packages
setup(
name='coordTrans',
version='1.0.0',
description='Coordinate transform',
packages = find_packages(),
py_modeles = 'coordTransfer.py',
author='weiw',
pakages=['coordTransfer'],
)
setup函数各参数详解
--name
包名称--version (-V)
包版本--author
程序的作者--author_email
程序的作者的邮箱地址--maintainer
维护者--maintainer_email
维护者的邮箱地址--url
程序的官网地址--license
程序的授权信息--description
程序的简单描述--long_description
程序的详细描述--platforms
程序适用的软件平台列表--classifiers
程序的所属分类列表--keywords
程序的关键字列表--packages
需要打包的目录列表--py_modules
需要打包的python文件列表--download_url
程序的下载地址--cmdclass
--data_files
打包时需要打包的数据文件,如图片,配置文件等--scripts
安装时需要执行的脚步列表
在setup.py文件所在路径下运行cmd运行打包命令,要打包成egg文件或whl文件,需要改变最后传入的参数。
1、python setup.py bdist_egg #打包为egg文件
或者
2、python setup.py bdist_wheel #打包为whl文件
我这里打包为whl文件:
运行后会在当前目录多出3个文件夹:build、dist、driver.egg-info
打包好后的whl文件在dist文件夹内,进入dist文件夹中安装whl文件:
现在就可以安装这个包了:
最后,就可以在程序中导入这个包了
其中coordTrans为包名(文件夹名),也就是文章开头,让你记住的那个文件夹;coordTransfer为文件夹内的py文件名。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。