摘要
背景知识需求
创建生成软件包所需的文件
首先,我们需要确保我们的package中已经包含了, 和文件。三者分别包含该package的说明文档,许可证和python setuptools所用来安装该package的构建脚本(build script)。
setup.py
- 是该package的名字。该名字可以由字母,数字,和组成。并且这个名字不能与其他已经上传至pypi.org的项目相同。
- 是当前package的版本。关于版本的详细信息请参考PEP440。
- 对当前package的较短的总结。
- 是对当前package的详细说明。这一详细说明将被展示在Python Package Index上当前项目的主页,如py3PortScanner主页所示。当前例子中README的内容被直接作为。这也是一个常用的方法。
- 指定了内容的格式。在当前情况下为markdown。
- 是当前package的主页链接。大多数情况下这是一个GitHub, GitLab, Bitbucket或者其他代码存储服务的链接。
- 是一系列应当包含在发布软件包文件(distribution package)中的可被import的python包文件。我们可以手动在此处罗列所有文件。或者如本例中一样使用函数自动包含所有的python包文件以及子包文件。
- 指定了当前package的其他元信息(metadata)。例如当前package兼容的python版本和操作系统,当前package提供的功能的类型,当前package的许可证等等。我们应当总是至少包括当前package所支持的python版本,操作系统和许可证。注意此处定义的关键字所包含的信息应当符合PyPI的规定。
- 指定了当前package所依赖的其他python类库。这些指定的python类库将会在本package被安装的时候一并被安装。
除去我们此处提到的关键字,尚有很多其他的关键字可以使用。具体可以参考相关的官方文档。
README
README文件包含了该python package的详细说明以及相关信息。
LICENSE
LICENSE文件指定了当前python package的使用许可证。上传至Python Package Index的python package应当包含一个许可证文件。这一文件指定了使用当前python package的用户应当遵守怎样的使用协议。关于如何选择开源软件许可证,读者可以参考这一文档。
使用travis-ci进行build test
当我们写好相应的软件测试代码之后,travis-ci可以被用来对我们的package进行自动测试。这一测试将会在每一次push时自动运行。
.travis.yml
文件是travis-ci的配置文件,travis-ci将依据这一配置文件来创建测试环境并运行测试脚本。具体的配置文档可以参考travis-ci官方python文档。
参考py3PortScanner的配置,我们逐条分析如下:
- 指定了编程语言为python。
- 指定了测试python版本为,以及。
- 用来指定build相关的信息,具体可以参考相关文档。此处的可以使得travis-ci进行的build测试尽可能早地被标记为结束。
- 用来指定build测试前用来安装所依赖的python类库的命令,例如travis-ci官方文档的这一部分。此处我们使用来表示没有需要安装的依赖库。
- 用来指定运行测试的命令或者脚本。此处我们使用了python默认的测试框架,故指定测试命令为,既默认运行所有以开头的测试文件。详情可以参考相关文档。
使用github账 登录travis-ci.com
打开travis-ci 页之后,选择使用Github账 登录,根据提示步骤选择你需要添加travis-ci build测试的repository并继续,我们就可以方便地将github repository添加到travis-ci个人项目中了。
将测试图标添加至README
当个人主页上对应项目开始进行built test之后,我们就可以将__build passing__图标添加到README中了。步骤如下:
- 将上图所示的连接直接拷贝到README中,我们的项目Github主页README就有一个bling bling的__build passing__图标啦!
生成发布软件包文件
当我们完成上述步骤后,我们需要打包我们的python package并生成python软件分发包(distribution packages)。这些文件可以被上传至Python Package Index并由其他用户通过命令安装。
首先我们需要安装最新版的和。
然后我们运行如下命令来打包程序(确保存在于当前路径下)。
当这个命令运行结束后,确保在生成的文件夹下存在相应的文件和文件。其中文件是我们的python package的源文件文档,而是一个软件分发包(build distribution)。新版本的将会首先尝试安装软件分发包,但在失败情况下会接着尝试采用源文件包安装。
将打包好的项目上传至PyPI
上传项目
首先我们需要注册一个PyPI的账 。如果仅仅为练习使用,则应当注册test.PyPI。任何上传至test.PyPI的项目将会在一段时间之后被删除。
接着我们需要安装最新版的。
安装成功之后我们就可以使用twine来上传项目了。注意在使用上传项目的时候需要输入相应的PyPI或test.PyPI的账 和密码。
上传完毕后,我们就可以前往PyPI个人主页上在栏目下查看我们的项目。
使用安装项目
如果我们的项目被上传至test.PyPI,则需要通过相应的index-url来安装。其中的为我们在中通过关键字指定的项目名称。
如果我们的项目被上传至PyPI,则可以按通常情况直接使用命令和包名称安装。同样地,为我们在中通过关键字指定的项目名称。
在我们就拥有一个全新的python项目啦!
文章知识点与官方知识档案匹配,可进一步学习相关知识Python入门技能树预备知识模块管理210531 人正在系统学习中
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!