本文的python是3.5 pyqt5win7(与win 10差别不大) pycharm社区版我的python程序不仅引入了qt的模块,还引入了ctypes模块,加载了windows的动态库. dll文件
虽然这里不介绍python的安装和pyqt5的安装,但是其他博客已经写了很多。 请参阅以下博客:
3359 www.cn blogs.com/da lanjing/p/6978373.html
1首先,利用pyinstaller的坑,首先我可以运行程序。 然后在主程序. py文件下运行。
f :codepython2 py installer-f-w-- paths=c :python 3.5libsite-packagespyqt5 Qtbbind
报告结果:
983 info : analyzing f :codepythonsimulate _ camera 01run.pysyntaxerrorinf :codepythonsimmming infind _ cookieraisesyntaxerror (msg )文件' string ',linenonesyntaxerror 3360 invalidormissingencodingdeclaration很奇怪虽然有各种各样的百度,但是没有找到像我这样的相对的。 但是,基本上是编码相关的,关键是没有说任何文件的问题。 只是语法上错了。 代码zjdl无效或丢失。 此外,由于pyinstaller仅支持文件为utf-8的编码,因此使用pycharm将整个项目设置为utf-8格式。
结果还是会搞错的~~~! ! !
所以标题在这里放弃了用这个道具打包。 转战cx_Freeze
2而且cx_Freeze安装的坑:一开始我的python版本是3.7.1,但很难安装。 我说过不合适。 之后,标题无奈地改为python,改为python3.5
这次可以安装! 浏览了以下博客,但安装未成功,
3359 blog.csdn.net/Geoffrey _ zfly ee/article/details/78784601
利用cmd在python的scripts目录中运行: cxfreeze -h
提示:它不是内部或外部命令,也不是可执行程序
因为各种百度在scripts目录下运行相关命令,所以此命令的整个目录路径不能有空间。 另一方面,标题python安装在c:programfiles(x86 )下。 中间有空间,没办法只能卸载并重新安装python,然后直接安装到光驱根目录。 在相关scritps目录cmd中运行: cxfreeze -h真的很好。 下图:
然后,在python主程序的根目录中运行。
f :codepython2 cxfreezerun.py提示错误:此提示错误为编码错误,但文件显示如下:
我的文件中没有zjdl代码。 但是,我以前明明pycharm都设定在utf-8上了。 无奈之下,我只在记事本中打开了刚才的文件,最后发现这是ANSI代码,于是重新保存了utf-8。
这时,我突然想,刚才的pyinstaller是不是因为这个文件。
除了打包完pyinstaller的孔之外,我刚才还在根目录中运行:
f :codepythonsimulate _ camera 01 py installer-f-w-- paths=c :python 3.5libsite-packages
居然成功了! ! !
然后运行程序。 ~~在这里运行直接在dist中点击exe文件是错误的。 出现可能发生的错误。 界面可以打开,但比如直接死了。 在运行程序之前,相关程序所需的资源必须位于同一根目录中~~~~
但是,标题这个程序无法实现网络传输。 具体原因尚不清楚。 我能跑。 中途不知道哪里有臭虫,暂时拍不到。
所以没办法,用cxfreez试试吧~~切换到程序目录:
f :codepython2 cxfreezerun.py-- target-dirf :codepython2dist1输出到dist1,
然后汇总所有相关资源文件,包括程序所需的dll文件夹。
果然能运行! 在当前的测试中没有发现错误~
感觉是工具的问题,cx_freeze更稳定!