python打包比起C++真的是很麻烦的一件事……小学期作品是拿python写的,用的还是3。6,pyinstaller不支持,只好学习了一下cxfreeze的打包方法。
一、安装
安装cxfreeze只要在cmd下输入 pip install cx_freeze即可。之后在python根目录下找到cxfreeze所在的位置。
我的是 C:Users24557AppDataLocalProgramsPythonPython36Scripts
二、确认bat文件的存在cxfreeze
如果里面没有 cxfreeze。bat 文件 就自己创建一个txt文件,里面输入
@echo off
C:Users24557AppDataLocalProgramsPythonPython36python。exe C:Users24557AppDataLocalProgramsPythonPython36Scriptscxfreeze %*cxfreeze
//其中第一个路径代表python。exe所在路径,第二个是cxfreeze所在路径。
之后修改后缀名为。bat
三、打包程序
之后就可以使用cxfreeze将我们想要打包的py程序进行打包了。
cmd下 移动到cxfreeze目录,(以我的上述地址为例 输入 “cd C:Users24557AppDataLocalProgramsPythonPython36Scripts” 不含引号 再回车就到了cxfreeze的目录)
之后输入 cxfreeze 你要打包的主程序地址 --target-dir 保存生成的可执行文件的地址 即可
e。g cxfreeze D:mygamemain。py --target-dir D:myexe
如果执行顺利,生成的exe文件就保存在了D盘下的myexe文件中啦。cxfreeze
四、总结
其实做完这些步骤再看,发现用cxfreeze打包也不过尔尔,并没有多么的麻烦。
不过cxfreeze打包并不能保证100%的打包成功,很多小问题(可能包括但不限于 文件名太长 文件名含中文等)都会导致打包的失败,需要注意一下。
之前尝试过使用pyinstaller对python脚本进行打包,但使用pyinstaller的过程中遇到了许多另我不满意的地方,如打包后的文件体积太大,打包后程序根目录下无关文件太多太杂等等。
因此我舍弃了pyinstaller改用cxfreeze对python脚本进行打包。话不多说,下面进入正题。cxfreeze
1。 安装cx_Freeze:
我使用的python版本为3。8。8,可以直接使用pypi安装cx_Freeze。
命令:pip install cx_Freeze
安装的cx_Freeze版本为6。6,安装完毕后就可以开始对脚本进行打包了,我们这里先简单的创建一个脚本文件,以供打包所用。
hello。py:
import datetime
print('你好,目前的日期和时间为:', datetime。datetime。now())
input()
我将此脚本存放到D盘下的pinstaller文件夹中
接下来介绍两种将上面的脚本打包为。exe的方法:
第一种:win+r后输入cmd回车进入命令行,之后cd C:\Users\27199\AppData\Local\Programs\Python\Python38-32\Scripts进入到python安装路径的Scripts目录下。
这里cd后跟随的路径为我的电脑内python的安装路径,将此路径替换为自己电脑内python的路径即可,如使用的是Anaconda,路径改为Anaconda下的Scripts文件夹所在路径即可。
路径切换好后,使用命令cxfreeze D:\pinstaller\hello。py --target-dir D:\pinstaller\dist回车即可对hello