本文主要是介绍【python学习】python的模块发布,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
中国史之【商建偃师城】:
洛阳偃师商城,为商代遗址,根据“夏商周断代工程”提供的系列测年数据,其始建年代被推定为约公元前1600年。它的发现为夏文化和商文化的分界提供了重要的实物证据。
-来源:全历史APP
今天讲python的模块发布。有需要的也可以直接去我的github查看全部笔记:
https://github.com/JackKoLing/python_notes_with_ten_days
俗话说:“好记性不如烂笔头”,多写写多记记,总不会错。多一些不为什么的坚持,少一些功利主义的追求。对于环境的配置,可以参考以下两篇:
- win10版 @小保,公众号:CV之道
【深度学习环境配置】手把手实战配置深度学习环境(win10版) - Linux版 @小保,公众号:CV之道
【深度学习环境配置】手把手实战配置深度学习环境(Ubuntu20.04版)
1 发布python模块或程序
- python模块、扩展和应用程序可以按以下几种形式进行打包和发布
- (1)压缩文件(使用distutils),如windows的zip文件和unix的tar.gz文件
- (2)自动解包或自动安装可执行文件,如windows的.exe文件
- (3)自包含的,不要求安装的预备运行可执行程序,如windows的.exe文件、unix的zip文件、mac的.app文件
- (4)平台相关的安装程序,如windows的.msi文件、linux的.rpm、src.rpm和.deb文件
- (5)python eggs,较流行的第三方扩展
2 使用distutils发布模块
- distutils模块能帮助完成模块或程序发布
- 这里的“发布”是指一个文件集合,这些文件联合在一起可使用distutils构建、打包和发布模块
- 创建好的发布可以用于安装,也可上传到PyPI与他人共享
(1)创建发布:
- 将各代码文件组织到模块容器中,也就是要打包的文件夹下
- 准备readme.md文件
- 在容器中创建setup.py文件
- from distutils.core import setup
- setup(name=‘test’, version='0.0.1)
setup.py中setup()中可用参数:
- name 包的名称(必需)
- version 版本号(必需)
- author
- author_email
- url 包的主页
- description 包的简单描述
- download_url
- platforms 平台列表
- license 许可证
- py_modules 各模块名称组成的列表,这些模块可能位于包的根目录下,也可能位于某子包目录下
- packages 各子包名称的列表
- 大体分为两类:元数据信息和包中的内容列表
(2)完成打包
- 在要发布的容器目录中执行“python setup.py sdist”
命令python setup.py sdist --formats= 可以为sdist指定源码格式:
-
zip: zip file
-
gztar: tar.gz file
-
bztar: tar.bz2 file
-
ztar: tra.Z file
-
tar: tar file
命令python setup.py bdist --formats= 可以为bdist指定二进制的格式:
获取帮助的方式:
- python setup.py --help
- python setup.py --help-commands 所有可以使用的命令,如build, install
- python setup.py command --help 获取特定命令的帮助
- python setup.py command --help-formats 获取特定命令支持使用的格式
(3)安装包
- python setup.py install
- 这个install会自动包含build和install的过程
- python setup.py build --build-base=/path/to/build_dir
- 第三方模块的安装路径通常为: site-packages(conda环境下载的包就是在这个路径)
- 自定义安装路径:–user= 或者 --prefix= 或–exec-prefix=
- 深度定制:–install-lib=/path/to/lib或定义可执行文件的安装路径,用–install-scripts=/path/to/bin
【声明】:学习笔记基于互联网上各种学习资源的个人整理。
以上是本期内容,下期介绍python的异常处理。
我叫小保,一名计算机视觉爱好者、学习者、追随者,欢迎关注我一起学习。
这篇关于【python学习】python的模块发布的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!