登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本人在使用pyinstaller封装python程序成exe文件时,遇到了一些问题,网上查了一些方法,有的好使,有的不好使。结合自身情况,将各种方法测试、整理一下,再加上一些个人的理解,分享到论坛中。这里所有的解决方法都测试过。
本人使用的是pycharm。如何安装pyinstaller在这里就不说了。
(引用请注 来自明气象家园robin_ouc)
语法: pyinstaller –F **.py (生成一个exe文件) 或者 pyinstaller –D **.py (生成文件夹,可执行文件在dist/下)
############################################################
问题1主文件中引入了第三方库,打包不成功。解决方法:pycharm似乎比python自带的IDLE好用。(1)在pycharm的Terminal窗口输入pyinstaller –F **.py或pyinstaller –D **.py(2)通过spec文件:第一次打包不成功,修改生成的spec文件,在a = Analysis()中,pathex之前加入各依赖库的路径(是安装后的py文件路径,不是whl文件路径)。
############################################################
问题2:打包出错python pyinstaller 'str'object has no attribute 'item'解决方法:更换setuptools版本,setuptools版本并不是越新越好,还要考虑到与pyinstaller匹配问题,见问题3。
############################################################
问题3:生成exe成功,运行时报错:failed to execute script pyi_rth_pkgres解决方法:更改pyinstaller版本。pyinstaller和setuptools这两个第三方库的版本要匹配,需要尝试,且64位和32位系统不一样在个人电脑已经验证过可以匹配的两个版本:1. 64位:pyinstaller3.6, setuptools28.8.0;2. 32位:pyinstaller3.5, setuptools43.0.0。貌似setuptools版本太高就不稳定。
############################################################
问题4:32位系统,生成的exe 移植到其他电脑上,运行出现“无法定位程序输入点ucrtbase.terminate于动态链接库”解决方法:查了一下,是系统的问题,缺少相应的库,可以安装对应的库;另一种解决办法(推荐):用pyinstaller –D **.py生成的文件夹移植于其他电脑上,生成的文件夹中已经包含了一些需要的库,不会出现此问题。
|