环境: python3.6
打包步骤: aliens_invasion
本打算使用pyintaller打包,但使用pip的安装过程也没有问题,打包过程也没有显示任何错误
但是,如果最终生成的exe文件和资源文件齐全,则仍然无法运行。
接下来通过visual studio的调试,发现是字体的问题,所以在百度询问了相关说法后,也有人说与字体无关,资源的相对路径有问题……。 终于失去了耐心,我更换了cxfreeze模块并将其打包。
安装cx_Freeze模块:
我在使用windows10系统,但首先在开始菜单中找到命令提示符
窗口S10系统很有用。 在地下的搜索栏直接输入cmd就可以了。 打开命令提示符,然后使用pip命令安装。
注意: python3附带了pip模块,但python2需要手动安装pip。 我不详细说明
与cxfreeze命令对应的模块是cx_Freeze,在命令行中键入pip install cx_Freeze
安装完成后,这可能表明cxfreeze不是内部或外部命令。 这可以通过创建bat文件来解决
注:这个方法来自一个知道的大人物:
33559 www.zhi Hu.com/question/41211581
以下是原文:
将“记事本”文件cxfreeze.bat添加到cxfreeze的安装目录Python34Scripts中
cxfreeze.bat的内容如下:
@ echo off
c :python 34python.exec :python 34scriptsCX freeze % *
要解决上述问题,还可以通过在此目录中输入czfreeze -h来检查安装情况。 (可以在pip install cxfreeze中直接安装和修改第三方库。 )
我的是python 3.6环境,首先找到相应python模块的路径
有
在中创建cxfreeze.txt文件并将其写入文件。
@ echo off
您的python路径python.exe您的python路径Scriptscxfreeze %*
然后,把文件的后缀改为bat就可以了。 如果某些系统没有显示后缀,可以自己去百度寻找显示后缀的方法
通常,这是一个从文件显示选项中删除隐藏属性的选项
示例:
我的python路径是E:extrasoftwarepython3
所以我写了
@ echo off
e :extra softwarepython3 python.exee :extra softwarepython3 scriptsCX freeeze % *
后来果然正常了
可以使用cxfreeze -h命令显示帮助信息。
使用cxfreeze命令:
转换后的dist文件夹显示在命令提示符的当前目录中,因此,首先在命令提示符下使用cd命令将其转换为需要转换的python文件的目录
我们需要根据
设置要转换的文件的路径。 --init-script=后跟绝对路径)
在此输入:
CX freeze-- init-script=c :userstangcdesktopalien _ invasion _ alien _ invasion.py alien _ invasien
然后回到车里
在一系列信息之后,成功了,文件夹中也显示了dist目录。
注:如果程序具有图像等资源,则必须根据程序中的相对路径将其添加到dist文件中
我打包的是
此主程序位于dist文件夹中,因为我的图像文件夹位于同一目录中:
.在与exe相同的目录中也放入images的文件夹(图像资源)
双击. exe文件,运行成功。
-----------------
作者:彩虹下的人行天桥
译文: 3359 blog.csdn.net/tangg 555/article/details/79648921