除了可以将发布模块打包成.whl格式的文件,今天想针对某些小型测试工具发布的场景,分享一种更适合的发布方式——打包成可执行的.exe程序,这样即使使用者在没有Python的环境中仍然可以直接运行,进一步的降低了使用成本,提升使用效率。
接下来就分享一下,如何使用PyInstaller库将发布模块打包成.exe格式文件。
PyInstaller安装
建议使用pip的方式进行安装,否则可能会报缺失其他依赖库的情况,需要逐个手动安装。
pipinstallPyInstaller
PyInstaller使用
如下简单代码示例,其中导入了Python内置库——time模块和第三方库——csv模块,实现了每次运行时,在新生成的csv文件中写入固定数据。
在该模块目录内执行如下命令,执行日志如下:
pyinstallerWriteFiles.py
其中在当前目录中可以看到生成了.uildWriteFilesWriteFiles.exe文件
大家执行WriteFiles.exe,可以发现在当前目录下,新增了WriteFile_1550935956.csv文件。
PyInstaller常用参数说明
-F:打包单个文件,生成结果是一个.exe格式文件。-D:打包多个文件,生成结果是一个目录,包含第三方依赖、资源、.exe文件等,适合以框架形式编写工具模块,默认参数。-c:使用Windows控制台子系统执行,显示命令行窗口,默认参数。-w:使用Windows子系统执行,当程序启动的时候不会打开命令行,编写GUI程序时使用此参数有用。-p:指定额外的import路径,类似于使用PYTHONPATH,多个目录可以用路径分割符(Windows使用分号,Linux使用冒号)。–add-data:打包额外资源,多个资源可以使用路径分割符(Windows使用分号,Linux使用冒号)。–add-binary:打包额外的代码,多个代码可以使用路径分割符(Windows使用分号,Linux使用冒号)。同时–add-binary添加文件的引用文件会一并添加进来。-i:添加.exe文件的icon图标。-n:编辑.exe文件和.spec的文件名。大家尝试使用其中-F,-n参数,只生成一个文件名为Toutiao的.exe格式文件。大家执行如下命令,运行日志如下:
pyinstaller-F-nToutiao.exeWriteFiles.py
其中在当前目录中生成了.distToutiao.exe文件,目录结构如下。
除了PyInstaller模块能够将模块打包成.exe格式的可执行程序,还可以了解下pyexe模块,它也可以实现相同效果的打包,这里就不做单独的介绍了。
若对您有所帮助,欢迎大家评论、留言。