有没有什么好用的python打包工具推荐?

用户68431221


作为Python开发人员,较以往我们的代码发布可能只是将整个模块上传至Git或SVN,使用者通过下载源码并且根据requirements文件安装依赖库,然后才能运行该代码,代码的交付、安装成本较高。

这里我们将 如何对模块进行打包,生产.whl文件,直接可以通过pip install *.whl进行安装,另外,还可以将打好的包上传到官方仓库 PyPI中。

Wheel和Egg都是python的打包格式,根据官网说明,Wheel是发行版Python的新标准并且将要取代.egg,Wheel现在是Python的二进制包的标准格式。


Wheel安装

pip install wheel

模块目录结构说明

  • setup.py

    :打包配置文件。
  • setup.cfg:包含了构建时候的一些默认参数,无可不添加该文件。
  • MANIFEST.in:额外需要打包的文件,无可不添加该文件。
  • README.md:项目说明文档。
  • LICENSE.txt:项目许可说明文件,无可不添加该文件。
  • lib:模块源码目录。


目录结构图如下,其中lib目录下是模块源码所在目录:

setup.cfg 如下

MANIFEST.in如下:

setup.py 配置文件如下:



生成whl文件

我们按照上述配置文件目录结构,编写完setup.py文件,接下来可以使用 bdist_wheel 进行打包,打包命令如下:

python setup.py bdist_wheel

通过如下打包日志,我们可以看到生成了Mongodb-1.0.0-py2.py3-none-any.whl文件。

执行完成后,原目录结构如下,在dist目录中我们可以看到生成的whl文件:


安装部署

我们可以将打包好的.whl对外发布,使用者可以通过pip直接进行安装部署,如下。

pip install Mongodb-1.0.0-py2.py3-none-any.whl
若对你有所帮助,欢迎大家评论、留言。

软件测试开发技术栈


这里简单介绍2个Python程序打包工具,分别是pyinstaller和py2exe,对于大多数py脚本来说,都可以轻松打包,支持Windows和Linux,感兴趣的朋友可以尝试一下:

这里为了方便测试,我新建了一个Python脚本,一个基于tkinter的GUI程序,后面就是对这个程序进行打包:

01

pyinstaller

这是一个非常简单的Python程序打包工具,支持Windows和Linux,只需一行命令就可轻松将py脚本打包为可执行程序(exe等),安装的话,直接在cmd窗口输入命令“pip install pyinstaller”即可,接着切换到脚本所在目录,输入命令“pyinstaller -F -w 脚本名称”程序就会自动开始打包过程,-F代表独立成一个可执行程序,-w代表去掉控制台窗口(我这里是GUI程序,所以需要添加这个参数,如果是命令行程序,不要添加这个参数):

以Windows程序为例(Linux类似),成功打包后会在当前目录下生成一个dist子目录,里面就有我们生成的exe程序,直接双击就可运行,缺点就是打包的文件比较大,而且在包的依赖上有问题:

02

py2exe

这也是一个非常不错的Python程序打包工具,目前仅支持Windows,而且限制Python版本为3.3或3.4,安装的话,直接在cmd窗口输入命令“pip install py2exe”即可:

安装完成后,这里需要配置一个setup.py打包文件,后面就是基于这个配置文件进行Python程序打包,简单配置如下,导入py2exe库,然后直接设置需要打包的脚本即可,如果是GUI程序,参数是windows,如果是命令行程序,参数是console,接着在cmd窗口切换到脚本所在目录,运行命令“python setup.py py2exe”就会自动开始打包过程,成功打包后就在当前目录下生成一个exe程序,直接双击就可运行:

至此,我们就完成了Python程序打包。总的来说,pyinstaller和py2exe这2个打包工具都非常简单,只要你熟悉一下使用过程,很快就能掌握的,网上也有相关教程和资料,介绍的非常详细,感兴趣的话,可以搜一下,希望以上分享的内容能对你有所帮助吧,也欢迎大家评论、留言进行补充。


小小猿爱嘻嘻


我家用的是溪谷科技的打包工具,别家没用过也不好说,他们家的这款产品很好的解决了H5游戏上架游戏平台问题和二次登录难问题,简单的步骤实现复杂的操作过程,包体小,下载速度很快。强烈推荐溪谷科技。


分享到:


相關文章: