【python学习】python的模块发布

中国史之【商建偃师城】:
洛阳偃师商城,为商代遗址,根据“夏商周断代工程”提供的系列测年数据,其始建年代被推定为约公元前1600年。它的发现为夏文化和商文化的分界提供了重要的实物证据。
-来源:全历史APP

今天讲python的模块发布。有需要的也可以直接去我的github查看全部笔记:

https://github.com/JackKoLing/python_notes_with_ten_days
【python学习】python的模块发布
俗话说:“好记性不如烂笔头”,多写写多记记,总不会错。多一些不为什么的坚持,少一些功利主义的追求。对于环境的配置,可以参考以下两篇:

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指定二进制的格式:

  • zip: zip file

  • gztar: tar.gz file

  • ztar: tra.Z file

  • tar: tar file

  • rpm: rpm package

  • pkgtool: Solaris pkgtool

  • wininst: Windows上自解压的zip格式的包

  • msi: Microsoft Installer

  • 还可以使用bdist_dumb、bdist_rpm、bdist_wininst

获取帮助的方式:

  • 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的模块发布
上一篇:Inno Setup 打包


下一篇:How to increase TX Power Signal Strength of WiFi