打包python文件,让文件程序化

通过对源文件打包,Python程序可以在没有安装 Python的环境中运行,也可以作为一个独立文件方便传递和管理。

现在网上主流的打包方式有两种py2exe或者pyinstaller两款多平台的Python程序打包为exe的免费工具。

py2exe

py2exe是一个将python脚本转换成windows上的可独立执行的可执行程序(*.exe)的工具。

py2exe是发布在开源许可证下的。

安装:

打包python文件,让文件程序化

 

下载并运行与你所安装的Python对应的py2exe版本的installer。

下载地址:http://www.py2exe.org/

运行:如果你有一个名为xxx.py的python脚本,你想把它转换为运行在windows上的可执行程序,并运行在没有安装python的windows系统上,那么首先你应写一个用于发布程序的设置脚本例如xinxinchen.py,在其中的setup函数前插入语句import py2exe 。

  • #xinxinchen.py
  • from distutils.core import setup
  • import py2exe
  • setup(console=["xxx.py"])

结果:上面的命令执行后将产生一个名为dist的子目录,其中包含了xxx.exe,python36.dll,library.zip这些文件。

pyinstaller

安装pyinstaller:

打包python文件,让文件程序化

 

1,在Windows中,pyinstaller依赖PyWin32,pypiwin32

如果在安装pyinstaller时使用的是pip或者easy_install会自动pypwin32,只需要手动安装Pywin32即可

安装命令:

pip install pywin32

下载地址:

GitHub版本,https://github.com/pyinstaller/pyinstaller/

官网下载地址,http://www.pyinstaller.org/

2.在Mac中,推荐使用一种Mac工具Platypus。

使用shell脚本调用python工具,然后将virtualenv和python工程均打包入app。

使用这种工具的优先是能将工程打包为app,不再是文件夹,图形化傻瓜式操作;缺陷是打包后的app体积比较大。

下载地址:

https://github.com/sveinbjornt/Platypus

注意:

如果是通过Pyinstaller打包Mac可执行文件,在修改spec文件时,不允许直接双击打开后编辑,需要使用类似sublime Text的编辑器编辑,否则会报莫名语法错误。

运行pyinstaller:在需要打包的文件目录下执行:pyinstaller xxx.py

成功打包:

执行完成后,将会生成dist和build两个文件夹。(文件生成位置与cmd起始位置有关)其中 ,build 目录是 pyinstaller存储临时文件的目录,可以安全删除。最终的打包程序在dist内部的python_test文件夹下。目录中其他文件是可执行文件python_test.exe的动态链接库。

如果程序打包过程没有报错,则会生成3个文件夹(有时候是2个),其中名为dist的文件夹中会有一个myfile.exe文件,运行一下,如果没有问题就打包成功,可以把这个exe文件单独拿出去用,其他的生成的文件夹可以删掉了

常用参数的使用方法如下:

- h 查看帮助,来查看参数

--clean 清理打包过程中的临时文件

-D, --onedir 默认值,生成dist文件夹,创建一个目录里面包含exe以及其他一些依赖性文件

-F, --onefile 在dist文件夹中只生成独立的打包文件

-i <图标文件.ico> 指定打包程序使用的图标(icon)文件

-w 使用窗口,无控制台

-c 使用控制台,无窗口

图标替换:

打包python文件,让文件程序化

 

pyinstaller -F --icon=xinxinchen.ico SevenDigitsDrawV2.py

xinxinchen.ico 是一个图标名,和当前的SevenDigitsDrawV2.py文件在一起

ico图标文件获取

1.阿里巴巴矢量图库 http://www.iconfont.cn/

2.比特虫在线制作 http://www.bitbug.net/

原文地址:https://www.cnblogs.com/jiangzhaowei/p/9163138.html