Python 包制作
Python 包制作
Python 包目录
/package_parent_folder
/package
/__init__.py
在__init__.py
文件内添加name = package
,其中package
指的是包名
在package_parent_folder
下添加包文件setup.py
、LICENSE
、README.md
文件。
LICENSE: 包许可说明
README.md: 包说明文件
setup.py: 包安装设置文件
setup.py所有设置选项
MANIFEST.in 指定package_data匹配规则,当setup.py配置中设置include_package_data=True
,将会使用此文件来判断pip包含的的数据,也可以在package_data
和exclude_package_data
规则进行详细的设置,具体参考文档
安装Python包制作依赖
- setuptools
- wheel
- build
- twine
制作Python包
python3 setup.py sdist bdist_wheel
在包源码目录执行下面命令进行打包
python3 -m build (推荐)
生成文件:
- /dist
- package-yourname-version-*.whl
- package_yourname-version-*.tar.gz
上传Python包
安装上传依赖
- twine
Test Pypi
注册账号测试网站上传
> python3 -m twine upload --repository-url https://test.pypi.org/legacy/ dist/*
下载测试
python3 -m pip install --index-url https://test.pypi.org/simple/ example-pkg-your-username
PyPi上传
注册账号上传
twine upload dist/*
- 报错:invalid command 'bdist_wheel'
安装wheel