在python3.6环境下使用cxfreeze打包程序


环境:python3.6

打包程序:aliens_invasion

原本想使用pyintaller 进行打包,使用pip的安装过程也没有问题,打包过程也没有显示任何错误


但最终生成的exe文件以及资源文件齐全的情况下,仍然无法运行:

后面通过visual studio的调试,发现是font的问题,于是我百度了有关说法,也有大佬说跟font没关系,是资源的相对路径有问题......终于到最后失去了耐心的我换了cxfreeze模块进行打包。


cx_Freeze模块的安装:

我所使用的是win10系统,首先在开始菜单里找到命令提示符

win10系统比较方便,直接在地下的搜索栏输入cmd即可,打开命令提示符后使用pip命令进行安装,

注意:python3自带了pip模块,而python2需要手动安装pip,具体不详细解释

cxfreeze命令对应的模块是cx_Freeze,我们在命令行敲入pip install cx_Freeze


安装完毕后有可能会提示cxfreeze不是内部或外部命令,这个我们可以通过编写一个bat文件解决

注:该方法来自知乎大佬:

https://www.zhihu.com/question/41211581

以下是原文:

在cxfreeze的安装目录下即\Python34\Scripts,添加一个文件cxfreeze.bat(可用记事本)
cxfreeze.bat内容如下:
@ echo off
C:\Python34\python.exe C:\Python34\Scripts\cxfreeze %*
即可解决上述问题,在该目录下输入czfreeze -h也可以查看安装情况(用pip install cxfreeze就可直接安装改第三方库)

我的是python 3.6环境,首先找到相应的python模块的路径

中建立一个cxfreeze.txt文件,然后在文件中写入:

@ echo off

你的python路径\python.exe 你的python路径\Scripts\cxfreeze %*

然后将文件的后缀改为bat即可,有些系统没有显示后缀的可以自行去百度上查找显示后缀的方法,

一般是在文件的查看选项中去掉隐藏属性的选项

例:

我的python路径是E:\extrasoftware\python3

所以我写入了

@ echo off

E:\extrasoftware\python3\python.exe E:\extrasoftware\python3\Scripts\cxfreeze %*

之后果然正常了

可以使用cxfreeze -h 命令查看帮助信息:


cxfreeze命令的使用:

首先在命令提示符中使用cd命令转换到所需要转换的python文件的目录中,因为转换后的dist文件夹会出现在命令提示符的当前目录中



我们需要根据


来设置需要转换的文件的路径:(--init-script=后接绝对路径)

这里输入:

cxfreeze --init-script=C:\Users\tangc\Desktop\alien_invasion\alien_invasion.py alien_invasion.py

然后回车


一大串信息后成功,在文件夹中也出现了dist目录:

注意:如果你的程序中有图片等资源,是需要根据程序中的相对路径加入到dist文件中的

我打包的是

这个主程序,而我的图片文件夹在它的同一目录下,所以在dist文件夹中:


也要在.exe同目录中加入images的文件夹(图片资源)

双击.exe文件,运行成功!



文章作者: 唐晨
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 唐晨 !
评论
 上一篇
centos7安装python3.6.2 centos7安装python3.6.2
本文参考: https://blog.csdn.net/weixin_39728177/article/details/77368394 https://blog.csdn.net/blueheart20/article/details
2018-03-26
本篇 
在python3.6环境下使用cxfreeze打包程序 在python3.6环境下使用cxfreeze打包程序
环境:python3.6 打包程序:aliens_invasion 原本想使用pyintaller 进行打包,使用pip的安装过程也没有问题,打包过程也没有显示任何错误 但最终生成的exe文件以及资源文件齐全的情况下,仍然无法
2018-03-22
  目录