如何制作并使用python发布的模块压缩包和whl包,并进行pip安装和使用教程


0 对于python中包概念的理解


一 创建setup.py文件

# 打包成模块压缩包
from distutils.core import  setup
setup(name="major",  # 包名version="0.1",  # 版本# 最重要的就是py_modules和packagespy_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和packagespy_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

如何制作并使用python发布的模块压缩包和whl包,并进行pip安装和使用教程,加上传Pypi,上传之后又如何增删whl项目相关推荐

  1. python导入requests库一直报错原因总结_python pip 安装库文件报错:pip install ImportError: No module named _internal...

    centos6,python3,通过pip安装pycurl出现报错提示 Centos6.7系统,python3.6.7,通过 pip 安装pycurl出现报错: __main__.Configurat ...

  2. python 全栈开发,Day86(上传文件,上传头像,CBV,python读写Excel,虚拟环境virtualenv)

    python 全栈开发,Day86(上传文件,上传头像,CBV,python读写Excel,虚拟环境virtualenv) 一.上传文件 上传一个图片 使用input type="file& ...

  3. pycharm中python调用百度aip所遇问题解决方案记录:pip安装时版本报错以及aip导入时报错no module named aip/requests)

    pycharm中python调用百度aip所遇问题解决方案记录:pip安装时版本报错以及aip导入时报错no module named aip/requests pip安装时版本报错 pip升级后安装 ...

  4. 基于Python Flask框架+jquery Ajax技术实现的增删改查(CRUD)+Ajax的异步文件上传

    运行界面(话不多说先上图) 运行之后的index界面,有登陆.注册功能 登陆界面,输入数据库中用户名.密码不为空且密码是加密的数据,进入main界面 注册界面,用的bootstrop的弹窗,用户名和密 ...

  5. python 发布自定义模块(图文诠释)

    为什么80%的码农都做不了架构师?>>>    为了共享我们新创建的模版, 需要准备一个发布, 发布成功之后, 就可以安装到本地,还可以上传到PyPI,与全世界的人共享你的模版. 下 ...

  6. Python 包管理工具 pip 安装 和 使用

    pip 安装使用详解:http://www.ttlsa.com/python/how-to-install-and-use-pip-ttlsa python 包:https://pypi.python ...

  7. Python从2.6升级到2.7,使用pip安装module,报错:No Module named pip.log(转载)

    From:http://blog.csdn.net/iefreer/article/details/8086834 python升级后,使用pip安装module,错误: 错误原因:版本升级后,之前的 ...

  8. esp8266 刷 MicroPython固件,并使用MicroPython File Uploader python文件上传工具上传python文件

    1.使用模块esp8266 2.进入固件官网:https://micropython.org/download/esp8266/ 3.将下载的esp8266-20220618-v1.19.1.bin放 ...

  9. Python打包PyPI上传实践

    1.新建目录文件 2.requirement.txt文件内容输入requests==2.18.4 3.setup.py文件内容如下: from setuptools import find_packa ...

最新文章

  1. 【二级java】 二分法查找
  2. springboot+多线程简单实现
  3. 进程间通信 - 动态链接库实现
  4. Win10安装MySQL5.7.22 解压缩版(手动配置)方法
  5. java重排序_Java内存模型FAQ(四)重排序意味着什么?
  6. ZZULIOJ 1118: 数列有序
  7. ubuntu磁盘分区问题
  8. whoosh读取+html,django-haystack+jieba+whoosh实现全文检索
  9. 删除时存在依赖_npm依赖管理那些事
  10. Carrot2 in action 初步印象
  11. idea打包java项目
  12. html英文期刊参考文献,英文参考文献标准格式
  13. 宏电GPRS DTU H7210调试报告(参数配置)
  14. php-fpm 开机启动,mac系统,php-fpm加入开机启动项
  15. ajax带token获得返回数据,jquery带token访问接口ajax
  16. 大咖访谈丨金星分享2020年直播数据,助农产品如何走上产销快车道
  17. 用摄像管替换电视机电路里的显现管的摄像机
  18. 微型计算机主板最新发展,三镇学子齐瞩目——精英主板 Intel915P平台新技术体验营首选武汉...
  19. 数据导入与预处理-第5章-数据清理
  20. SYN480R 解码

热门文章

  1. ubuntu 更换桌面为 KDE
  2. Excel表格中实现IP地址排序
  3. JavaWeb个人博客项目:手把手教你实现博客后台系统之管理员管理模块5
  4. 免费在线pdf转word
  5. 数据链路层协议(1)
  6. Filter过滤器的简单介绍与使用
  7. 小程序代码审核一二事
  8. 直播app开发公司手把手搭建一套简单的直播系统
  9. 奥密克戎“后遗症”,比病毒更可怕
  10. HTML笔记及案例(全)