简单了解如何封装自己的Python包

(编辑:jimmy 日期: 2025/2/27 浏览:2)

将自己的程序打包为whl/tar.gz文件

有时候自己写了一个开发基本类,我们把这个类打包为whl或者tar.gz文件,这样的话同事也可以使用自己开发的基本类了

安装setuptools

pip install setuptools

编写setup.py及__init__.py文件(init.py内容可以为空)

注意目录结构

packages/
 __init__.py
 自己的文件.py
setup.py
Readme.txt

setup.py文件内容

from setuptools import setup
setup(name='dingding-py',
   version='0.0.2',
   description='this is a dingdingbot packages',
   author='Jruing',
   author_email='1099301992@qq.com',
   packages=['Qingolddriver']

   )

除了上面示例中的几个参数以外还有其他的

  • 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文件中。

打包

进入到setup.py所在目录执行以下命令

python setup.py bdist_wheel #打包为whl文件
python setup.py sdist #打包为tar.gz文件

打包后在dist目录下就可以找到打包后的文件

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

一句话新闻
高通与谷歌联手!首款骁龙PC优化Chrome浏览器发布
高通和谷歌日前宣布,推出首次面向搭载骁龙的Windows PC的优化版Chrome浏览器。
在对骁龙X Elite参考设计的初步测试中,全新的Chrome浏览器在Speedometer 2.1基准测试中实现了显著的性能提升。
预计在2024年年中之前,搭载骁龙X Elite计算平台的PC将面世。该浏览器的提前问世,有助于骁龙PC问世就获得满血表现。
谷歌高级副总裁Hiroshi Lockheimer表示,此次与高通的合作将有助于确保Chrome用户在当前ARM兼容的PC上获得最佳的浏览体验。