首先,导入setuptools。这是一个非常有用代码包,可轻松对Python包进行发行,即使它不包括在标准库中(类似的distutils是比不了的),它仍然是当今Python包发行的标准,应该牢记于心。本文只使用了setuptools包中的两个函数:setup和find_packagges。
在导入setuptools之后,调用setup()函数之前,只需将README.md 文件的内容读入到全局变量 README中即可。
然后只需通过以下变量调用setuptools.setup() 函数即可:
- author:输入姓名。
- author_email:输入邮箱。
- name:代码包的名称,在本例中为“chocobo”。
- license:在本例中为字符串“MIT”,或选择其他许可证。
- description:代码包的简短介绍,控制在一行以内。例如:“chocobo代码包是制作美味chocobo的食谱”
- version:表示封装的当前版本的字符串。笔者在之后的文章中会介绍更简洁的处理方法,但是目前,只需要在想要发布新版本时手动增加一个数字就可以了。通常的做法是将版本号前加入字母V,因此v1是第一个版本的版本字符串,但笔者建议将v0.0.1 视为等效版本字符串并使用此格式。后文将详细介绍这种做法的意义。
- long_description:表示README的内容。该部分是代码包的详细描述。也就是该页面PyPI的内容(示例:https://pypi.org/project/pdpipe/)。
- url:可链接到代码包的主页。如果读者没有专用的站点,那么存储库的URL是一个不错的选择。
- packages: 又一次提到了setuptools!根据命令,这个参数获取要生成和发行/安装的所有代码包的名称数组。从技术上讲,可以直接使用[“chocobo”]这个名字,但是最好是将其通用化,并使用setuptools 函数,它能处理更复杂的包和存储库结构。有两个可选参数可以作为输入数据,where 和exclude,但在这里忽略不计。作为结果,where可链接至安装文件所在的目录,包括所有子目录,一般来说这样已经足够了。
- python_requires: 如果你的电脑支持Python的所有版本,就不必顾及此参数。如果不能,应该选择一个适当的值。从技术上讲,笔者不赞成使用未经测试的版本,但保险期间目前我们可以进行适当的假设:
(1) 如果读者正在使用Python2,特别是Python2.7版本,可以得出以下两点结论:(a)你独树一帜,十分优秀(b)你的电脑配置只需支持Python2.7即可,所以可以使用“>=2.7”这个字符来编辑这个参数。另外,时代在进步,试试Python3吧。
(2) 如果读者使用的是Python3,那么任何Python版本都大于或等于用来开发代码包的版本。以此类推,如果使用的是Python3.5,那么应该设置成“>=3.5”。
- install_requires: 此处列出的是所有非标准库代码包的使用前提。例如,如果chocobo 需要requests和 pytz 才能运行的话,那么该参数应设置为:[“ requests”,“pytz”]。
- classifiers: 连同其他成千上万个代码包一起,你的代码包也会很快PyPI上线。为了进行区分,作者可以向PyPI提供一个列表,列出trove分类器来对每个版本进行分类,描述其用途、支持的系统和开发进度。然后,社区成员可以使用这些标准化的分类器,根据自己的需求来查找项目(尽管不确定谁会进行这项操作)。
这里有所有可能用到的分类器:https://pypi.python.org/pypi?%3Aaction=list_classifiers (编辑:成都站长网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|