文件夹|封装Python代码包的六个步骤!现在就记住( 二 )

那么在完成封装之后 , chocobo包可以有这样的使用方法:
"""I'm a script or a different package using chocobo."""import chococbodef my_feast(num_guests): snacks = bobbish() main_course = chocobo.chocobo_roast(num_guests, 0) dressing = szechuan_chicken_mcnugget_sauce()以上就是一些要点 。
步骤三:许可问题
使用共享许可发布代码是较为可取的;如果要将自己的代码公开分享 , 程序员会想要在保留版权的前提下得到重用代码的许可 , 或者让那些扩展自己代码的人保证衍生代码可以自由使用 。 获得许可能轻松解决这些问题 。
对于无足轻重的小项目 , 可以考虑MIT许可() 。 choosealicense.com()提供了很多GitHub和开源社区中的实用建议 。
无论选择哪种许可 , 都比根本不用要好 。 很多时候 , 在没有许可的情况下公开代码还不如不公开;如果程序员不明确自己对代码的所有权 , 大多数公司会因为可能造成的法律纠纷而放弃 , 从而失去许多潜在用户 。
选择许可后 , 在存储库中创建LICENSE许可文件(不需要文件扩展名) , 并导入所选许可的确切文本 。
步骤四:安装文件
现在创建Python封装工具所需的基本文件(以setuptools为例);setup.py.setup.py 包含了构建和发行时使用的实际指令 。
下面是一个初始模板(别担心 , 稍后会进行详细检查)
"""Setup for the chocobo package."""import setuptoolswith open('README.md') as f: README = f.read()setuptools.setup( author="Shay Palachy", author_email="shay.palachy@gmail.com", name='chocobo', license="MIT", description='chocobo is a python package for delicious chocobo recipes.', version='v0.0.3', long_description=README, url='', packages=setuptools.find_packages(), python_requires=">=3.5", install_requires=['requests'], classifiers=[ # Trove classifiers # () 'Development Status :: 4 - Beta', 'License :: OSI Approved :: MIT License', 'Programming Language :: Python', 'Programming Language :: Python :: 3.5', 'Programming Language :: Python :: 3.6', 'Topic :: Software Development :: Libraries', 'Topic :: Software Development :: Libraries :: Python Modules', 'Intended Audience :: Developers', ],)首先 , 导入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 视为等效版本字符串并使用此格式 。 后文将详细介绍这种做法的意义 。
【文件夹|封装Python代码包的六个步骤!现在就记住】· long_description:表示README的内容 。 该部分是代码包的详细描述 。 也就是该页面PyPI的内容(示例:) 。
· url:可链接到代码包的主页 。 如果读者没有专用的站点 , 那么存储库的URL是一个不错的选择 。
· packages: 又一次提到了setuptools!根据命令 , 这个参数获取要生成和发行/安装的所有代码包的名称数组 。 从技术上讲 , 可以直接使用[“chocobo”]这个名字 , 但是最好是将其通用化 , 并使用setuptools 函数 , 它能处理更复杂的包和存储库结构 。 有两个可选参数可以作为输入数据 , where 和exclude , 但在这里忽略不计 。 作为结果 , where可链接至安装文件所在的目录 , 包括所有子目录 , 一般来说这样已经足够了 。
· python_requires: 如果你的电脑支持Python的所有版本 , 就不必顾及此参数 。 如果不能 , 应该选择一个适当的值 。 从技术上讲 , 笔者不赞成使用未经测试的版本 , 但保险期间目前我们可以进行适当的假设:
(1) 如果读者正在使用Python2 , 特别是Python2.7版本 , 可以得出以下两点结论:(a)你独树一帜 , 十分优秀(b)你的电脑配置只需支持Python2.7即可 , 所以可以使用“>=2.7”这个字符来编辑这个参数 。 另外 , 时代在进步 , 试试Python3吧 。