加入收藏 | 设为首页 | 会员中心 | 我要投稿 济南站长网 (https://www.0531zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营中心 > 建站资源 > 优化 > 正文

六个步骤,封装你喜爱的Python代码包

发布时间:2019-10-13 11:13:47 所属栏目:优化 来源:读芯术
导读:副标题#e# 假设你很喜欢用同一段Python代码,里面有几个相关的小型函数,或者是含有几百行代码的中型模块。程序员可能会把它复制到不同的项目或存储库中,或者从特别设置的实用工具代码文件夹中导入这段代码。 这很正常。程序员在编写代码的过程中都会不断

下面是一个初始模板(别担心,稍后会进行详细检查)

  1. """Setup for the chocobo package.""" 
  2. import setuptools 
  3. with open('README.md') as f: 
  4.  README = f.read() 
  5. setuptools.setup( 
  6.  author="Shay Palachy", 
  7.  author_email="shay.palachy@gmail.com", 
  8.  name='chocobo', 
  9.  license="MIT", 
  10.  description='chocobo is a python package for delicious chocobo recipes.', 
  11.  version='v0.0.3', 
  12.  long_description=README, 
  13.  url='https://github.com/shaypal5/chocobo', 
  14.  packages=setuptools.find_packages(), 
  15.  python_requires=">=3.5", 
  16.  install_requires=['requests'], 
  17.  classifiers=[ 
  18.  # Trove classifiers 
  19.  # (https://pypi.python.org/pypi?%3Aaction=list_classifiers) 
  20.  'Development Status :: 4 - Beta', 
  21.  'License :: OSI Approved :: MIT License', 
  22.  'Programming Language :: Python', 
  23.  'Programming Language :: Python :: 3.5', 
  24.  'Programming Language :: Python :: 3.6', 
  25.  'Topic :: Software Development :: Libraries', 
  26.  'Topic :: Software Development :: Libraries :: Python Modules', 
  27.  'Intended Audience :: Developers', 
  28.  ], 

首先,导入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吧。

(编辑:济南站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!