如何制作并使用python发布的模块压缩包和whl包,并进行pip安装和使用教程
0 对于python中包概念的理解
一 创建setup.py
文件
# 打包成模块压缩包
from distutils.core import setup
setup(
name="major", # 包名
version="0.1", # 版本
# 最重要的就是py_modules和packages
py_modules=["major.test1","major.test2"], # py_modules : 打包的.py文件
packages=["major.major1"], # packages: 打包的python文件夹
# keywords=("AI", "Algorithm"), # 程序的关键字列表
description="AIAgorithmPack", # 简单描述
long_description="AIAgorithmPack for python", # 详细描述
# license="MIT Licence", # 授权信息
url="https://blog.csdn.net/qq_41375318/article/details/115568470", # 官网地址
author="major_s", # 作者
author_email="1171657161@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'
# ]
# }
)
二 使用build
命令构建模块
python setup.py build
三 使用sdist
命令生成发布的模块压缩包
python setup.py sdist
四 安装模块
4.1解压
4.2 安装
python setup.py install
4.3 使用
import jsuni_sllab
jsuniv_sllab.client.myPrint("test")
五 卸载模块
直接从安装目录下,把安装模块jsuniv_sllab
的文件夹删除就可以
同文件夹下的egg-info也删除
六 什么是第三方模块和pip
1.在python中第三方模块是什么意思?
第三方模块通常是指由知名的第三方团队开发
的并且被程序员广泛使用
的Python包/模块
2.什么是pip?
pip是一个通用的 Python包管理工具,提供了对Python包的查找、下载、安装、卸载
等功能
七 打包成whl
,然后用pip进行本地安装
7.1 安装setuptools
pip install setuptools
7.2 修改setup.py文件
from setuptools import setup
from setuptools import find_packages
setup(
name="jsuniv_sllab", # 包名
version="0.1", # 版本
# 最重要的就是py_modules和packages
py_modules=["jsuniv_sllab.client","jsuniv_sllab.server"], # py_modules : 打包的.py文件
packages=find_packages(), # packages: 打包的python文件夹
# keywords=("AI", "Algorithm"), # 程序的关键字列表
description="AIAgorithmPack", # 简单描述
long_description="AIAgorithmPack for python", # 详细描述
# license="MIT Licence", # 授权信息
url="https://blog.csdn.net/qq_41375318/article/details/115568470", # 官网地址
author="major_s", # 作者
author_email="1171657161@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'
# ]
# }
)
7.3 执行命令
python setup.py bdist_wheel
7.4 使用pip install
安装
pip install jsuniv_sllab-0.1-py3-none-any.whl
7.5 使用
import jsuni_sllab
jsuniv_sllab.server.myPrint("test")
八 whl上传到pypi
8.1首先在pypi注册个账号
8.2 然后安装twine
pip install twine
8.3 上传
python -m twine upload ***.whl
8.4 删除
8.5 增加新的版本
在setup.py里面修改你的version
python -m twine upload ***.whl
补充
https://zhuanlan.zhihu.com/p/276461821
https://www.py.cn/jishu/jichu/13198.html
pycharm的列编辑模式
用鼠标垂直选择文本
快捷键:Alt + Shift + Insert