python中比较常用的python转exe方法有三种,分别是cx_freeze,py2exe,PyInstaller。py2exe恐怕是三者里面知名度最高的一个,但是同时相对来说它的打包质量恐怕也是最差的一个。pyinstaller打包很好,但是操作工序较为复杂,推荐cx_freeze,可以通过pip install cx-freeze 安装。
1、安装过程如下:
打开cmd,输入pip install cx-freeze 后,会发现在python的Scripts文件夹下生成了三个文件:
然后在cmd中,切换到Scripts路径下,输入 python cxfreeze-postinstall,会发现Scripts文件夹下又多了.bat文件,此时已经安装成功:
继续在cmd下尝试输入 cxfeeeze -h 验证下,显示成功。
cx_freeze 安装参考链接:
链接:https://www.aliyun.com/jiaocheng/473432.html
链接:https://blog.****.net/candcplusplus/article/details/46964783
链接:https://blog.****.net/a1451427116/article/details/47751383
提示:直接通过 pip install cx-freeze 安装,仍然出现错误时(找不到文件),最好去官网:https://pypi.org/project/cx_Freeze/4.3.3/#files手动下载相应版本的cx-freeze文件,放在Scripts文件夹下,手动双击安装,然后再运行cxfreeze-postinstall。(例如:我的python版本是3.4.3,下载cx_Freeze-4.3.3.win-amd64-py3.4的文件。注意,版本不对无法安装!)
2、cx_Freeze将py文件打包成exe如下:
利用cx_Freeze将py文件打包成exe文件,链接:http://blog.51cto.com/keliang/661884
打包文件时要在Scripts文件夹路径下操作,文件的路径最好是绝对路径。例如:将 G 盘的 hello.py 打包到 G 盘的 123文件夹下:cxfreeze g:\hello.py --taget-dir g:\123 或者 cxfreeze g:\hello.py --taget-dir g:\123 --base-name=Win32GUI。加上--base-name=Win32GUI可以在运行exe时去掉cmd黑框。
3、关于在.py程序中添加图片/文字等素材的 路径 的使用,在文件打包后可能会出现的坑:
如果原.py程序使用了图片等素材,并且添加图片是相对路径(同一个文件夹下可以不使用绝对路径),打包文件后,需要将图片等素材拷贝一份放在打包后的文件夹下,否则运行.exe程序会找不到图片素材。
如果原.py程序使用图片添加的是绝对路径,在本地电脑上运行时可能不会发现错误。但是你将打包后的文件发给另一台机器,运行.exe程序会报错,大概意思是“根据你写的绝对路径找不到图片等素材”,即使你在文件夹下拷贝了素材,但是绝对路径也是错误的,所以,最好使用上一种方法。