美文网首页问题收纳
pyinstaller打包pyqt4程序运行时报错无法定位程序输

pyinstaller打包pyqt4程序运行时报错无法定位程序输

作者: 渔父歌 | 来源:发表于2019-02-27 18:56 被阅读0次

    转载自:https://www.cnblogs.com/boliu/p/7574804.html

    问题

    pyinstaller打包的pyqt5程序在部分电脑上会失败。用户截图提示下边错误日志

    无法定位程序输入点 ucrtbase.terminate 于动态链接库 api-ms-win-crt-runtime-l1-1-0.dll 上

    以及

    Error loading Python DLL: C:\Users***\python35.dll (error code 127)

    解决方案

    查找一通之后,在stackoverflow找到了两个解决方案

    • Install theWindows 10 SDK and add the ucrt DDL dirs to your system path (C:\Program Files\Windows Kits\10\Redist\ucrt or C:\Program Files (x86)\Windows Kits\10\Redist\ucrt\DLLs\x64 depending on your system) before building

    • Use Python 3.4 to build instead of 3.5+

    转载自:https://www.cnblogs.com/boliu/p/7574804.html

    以上全部为转载,以下为原创。

    我使用的时候第一种办法死活没有效果,无论是安装 Windows 10 SDK还是安装 vs 2015 redistributeable都无法解决问题。

    最后还是通过降级为python 3.4才解决这个问题的。

    这里分享一个不影响原来python环境安装python 3.4的方法。

    首先我们去python官网下载python 3.4版本的安装包,然后安装到电脑上,记住在安装的时候不要勾选添加到环境变量的选项(默认是不勾选的,所以一直下一步就行)。

    安装好python 3.4z之后再安装pyqt4,在安装pyqt4的时候会要我们选择python的目录,这里记得要选我们python 3.4的安装目录,不然pyqt4是无法安装到python 3.4的环境中的。

    这里附上pyqt4的安装包 pyqt4百度网盘, 提取码:b2nl
    有csdn积分的朋友可以点击这个链接,就当送我一点积分了,不然平时下东西的时候挺麻烦的。

    然后我们再用pycharm创建一个新的项目(这一步一定要在安装好pyqt4之后,不然创建的项目里是没有pyqt4的),在创建项目的时候勾选 New environment using Virtualenv,下面的 base interpreter选择python3.4安装目录下的python.exe。记住这一步一定不能勾选 inherit global site-packages,因为这里的全局包是你原来安装的python版本,如果勾选了这个选项的话,就不再使用python3.4的环境了。

    上面的这些做好之后再在新建的项目里把pyinstaller安装好,然后就可以愉快的打包了。

    最后吐槽一句,千万别安装360,不要问我为什么( ̄▽ ̄)"

    相关文章

      网友评论

        本文标题:pyinstaller打包pyqt4程序运行时报错无法定位程序输

        本文链接:https://www.haomeiwen.com/subject/xhfquqtx.html