怎么黑进网站后台,佛山网站排名推广,去除链接wordpress,公司网站建设费用多少《Python基础教程》第1章笔记#x1f449;https://blog.csdn.net/holeer/article/details/143052930
第18章 程序打包
程序可以发布后#xff0c;你可能想先将它打包。如果程序只包含一个.py文件#xff0c;这可能不是问题。然而#xff0c;如果用户不是程序员#xff0…《Python基础教程》第1章笔记https://blog.csdn.net/holeer/article/details/143052930
第18章 程序打包
程序可以发布后你可能想先将它打包。如果程序只包含一个.py文件这可能不是问题。然而如果用户不是程序员即便是将简单的Python库放到正确的位置或调整PYTHONPATH也可能超出了其能力范围。用户通常希望只需双击安装程序再按安装向导说的做就能将程序安装好。
Python程序员有较低级的接口可以使用。Setuptools是用于发布Python包的工具包让你能够使用Python轻松地编写安装脚本。这些脚本可用于生成可发布的归档文档供用户编译和安装你编写的库。
本章重点介绍Setuptools因为这是每个Python程序员都要用到的工具。实际上Setuptools并非只能用于创建基于脚本的Python安装程序还可用于编译模块。另外通过将其与py2exe和py2app结合起来使用还可创建Windows和macOS平台上的独立的可执行程序。
18.1 Setuptools基础
“Python打包用户指南”packaging.python.org和Setuptools官网http://setuptools.readthedocs.io有很多相关的文档。使用Setuptools可完成很多任务只需编写像代码清单18-1这样简单的脚本即可。
代码清单18-1 简单的Setuptools安装脚本setup.py
from setuptools import setup
setup(nameHello,version1.0,descriptionA simple example,authorMagnus Lie Hetland,py_modules[hello])以上代码中函数setup的所有参数都是可选的。请确保setup.py与简单模块hello.py在同一目录下然后执行python setup.py build示例输出如下。
running build
running build_py
creating build
creating build/lib
copying hello.py - build/lib如输出所示在命令build执行过程中Setuptools创建了一个名为build的目录其中包含子目录lib然后将hello.py复制到了这个子目录中。目录build相当于工作区Setuptools在其中组装包并编译扩展库。
如果执行安装命令install则会自动运行命令build然后将模块hello.py复制到PYTHONPATH指定的特定目录中在此过程中会创建一个.egg文件这是一个独立的Python包。目前没有标准的uninstall命令因此需要手工卸载安装的模块。
18.2 打包
通过对setup.py稍作修改你可以用它来创建Windows安装程序、RPM包、egg文件、wheel文件等wheel将最终取代egg。本节只介绍如何创建源代码归档文件.tar.gz。
执行命令python setup.py sdist(sdist source distribution)进行源代码归档。注意归档规范建议在setup.py中添加author_email选项在当前目录中添加README.md。命令执行完成后在当前目录下应该会多出一个dist目录。在这个目录中有一个名为Hello-1.0.tar.gz的文件。你可将其分发给他人而对方可将其解压缩再使用脚本setup.py进行安装。
18.4 使用py2exe创建可执行程序
py2exe是Setuptools的一个扩展可通过pip来安装它让你能够创建可执行的Windows程序.exe文件。这在你不想给用户增加单独安装Python解释器的负担时很有用。py2exe包可用来创建带GUI参见第12章的可执行文件。下面将使用这个非常简单的示例
print(Hello, world!)
input(Press enter)创建一个空目录再将这个文件hello.py放到这个目录中然后创建一个类似于下面的setup.py文件
from distutils.core import setup
import py2exe
setup(console[hello.py])运行脚本python setup.py py2exe
这将创建一个控制台应用程序dist\hello.exe。
有关py2exe的工作原理和高级用法的详细信息请参阅py2exe官网http://www.py2exe.org。如果你使用的是macOSpy2app提供了类似的功能http://pythonhosted.org/py2app。
要让别人能够使用pip安装你开发的包必须向Python Package IndexPyPI注册它详见标准库文档。