一、制作setup.py文件
D:.
│ setup.py
│ README
│
└─cp
ConfigParser.py
test.py
__init__.py
setup(
name="xxxx", # 包名
version="0.1", # 版本
# 最重要的就是py_modules和packages
py_modules=["xxxx.test1","xxxx.test2"], # py_modules : 打包的.py文件,不要.py
packages=["xxxx.xxxx1"], # packages: 打包的python文件夹
# keywords=("12I", "12323"), # 程序的关键字列表
description="12312313123", # 简单描述
long_description="123213 Pack for python", # 详细描述
# license="MIT Licence", # 授权信息
url="https://blog.csdn.net/landdin2013/article/details/138302331", # 官网地址
author="xxxxx", # 作者
author_email="111111111@qq.com", # 作者邮箱
# packages=find_packages(), # 需要处理的包目录(包含__init__.py的文件夹)
# platforms="any", # 适用的软件平台列表
# install_requires=[], # 需要安装的依赖包
# 项目里会有一些非py文件,比如html和js等,这时候就要靠include_package_data和package_data来指定了。
# scripts=[], # 安装时需要执行的脚本列表
# entry_points={ # 动态发现服务和插件
# 'console_scripts': [
# 'jsuniv_sllab = jsuniv_sllab.help:main'
# ]
# }
)
二、根据需要在setup.py中引入打包库,二选一
# 打包成模块压缩包
from distutils.core import setup
# 打包成whl
from setuptools import setup, find_packages
三、进行构建
python setup.py bulid
四、进行打包(二选一)
#打包成gz
python setup.py sdist
#打包成whl
python setup.py bdist_wheel
五、将WHL文件发布到PYPI
pypi注册个账号
pip install twine
python -m twine upload ***.whl
六 PYthon 12会有提示尽量不要使用setup.py,应使用pypa指定的安装器
D:\Python312\Lib\site-packages\setuptools\_distutils\cmd.py:66: EasyInstallDeprecationWarning: easy_install command is deprecated.
!!
********************************************************************************
Please avoid running ``setup.py`` and ``easy_install``.
Instead, use pypa/build, pypa/installer or other
standards-based tools.
See https://github.com/pypa/setuptools/issues/917 for details.
********************************************************************************
!!
七 新的安装指南
py -m pip install twine
py -m pip install build
py -m build --sdist
py -m build --wheel
twine check dist/*
创建一个 PyPI API 令牌
twine upload dist/*
参考:帮助 ·PyPI的
安装指南 Packaging and distributing projects - Python Packaging User Guide