Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
不能';t打开python.exe应用程序_Python_Anaconda_Pyinstaller - Fatal编程技术网

不能';t打开python.exe应用程序

不能';t打开python.exe应用程序,python,anaconda,pyinstaller,Python,Anaconda,Pyinstaller,我使用pyqt5和opencv3创建了一个简单的人脸检测应用程序。我使用Anaconda3.6和anaconda命令提示,并使用pyinstaller创建.exe文件 运行pyinstaller后,.py文件将转换为.exe文件,然后不再运行 只要在命令提示符上单击,就会显示错误。我已经附上了图片 我还尝试了cx_冻结,命令提示符弹出并在一毫秒内再次消失。在那里我可以看到一些numpy导入错误,我无法对其进行映像 我使用了anaconda cmd提示符,使用了anaconda中的python 请

我使用
pyqt5
opencv3
创建了一个简单的人脸检测应用程序。我使用Anaconda3.6和anaconda命令提示,并使用pyinstaller创建.exe文件

运行pyinstaller后,.py文件将转换为.exe文件,然后不再运行

只要在命令提示符上单击,就会显示错误。我已经附上了图片

我还尝试了cx_冻结,命令提示符弹出并在一毫秒内再次消失。在那里我可以看到一些numpy导入错误,我无法对其进行映像

我使用了anaconda cmd提示符,使用了anaconda中的python

请帮我一个解决办法


启动使用PyInstaller创建的.exe文件后,将显示以下错误:

Py_Initialize: unable to load the file system codec
LookupError: unknown encoding: utf-8
页面上也会报告此错误

如果您使用
--debug
标志运行PyInstaller,然后启动应用程序,您是否在日志文件中看到类似的错误?具体而言,以下错误可能在日志文件的开头附近:

 File "c:\program files\python36\lib\re.py", line 142, in <module>
  class RegexFlag(enum.IntFlag):
AttributeError: module 'enum' has no attribute 'IntFlag'
784 DEBUG: collect_submodules - Found submodules: {'encodings'}
文件“c:\program files\python36\lib\re.py”,第142行,在
类RegexFlag(enum.IntFlag):
AttributeError:模块“enum”没有属性“IntFlag”
784调试:收集_子模块-找到的子模块:{'encodings'}

这可能是由于不兼容的模块(枚举)覆盖了标准库造成的。在这种情况下,建议的修复方法是删除enum34包(
pip uninstall enum34

您的应用程序无法启动,因为它无法导入PyQt5模块。您可以将PyQt5(或您正在使用的每个PyQt5模块)添加到.spec文件中的
hiddenimports
列表中,该文件是在您首次将此应用程序与PyInstaller绑定后生成的,然后重新生成可执行文件。或者,您可以通过在任何其他与PyQt5相关的导入之前添加
import PyQt5
,将PyQt5显式添加到.py文件中。您创建了一个应用程序,它在启动时崩溃了吗?好的,自从上次启动时没有崩溃以来,您做了哪些更改?@zvone抱歉,当我编译程序时,GUI运行。使用pyinstaller后,.Py文件转换为.exe文件,然后它就不运行了。我为您在问题中添加了该信息;)请尝试在命令提示符下运行应用程序,并将错误输出作为编辑添加到您的问题中好吗?@apolaticon,我又添加了一个cmd提示符错误图像,显示PyQt5.QtCore导入QTimer,导入错误没有名为PyQt5的模块。但是我成功地执行了程序并运行了gui窗口,我在上面检测到了我的脸。亲爱的@apocallacticon,我试图在导入任何其他PyQt5相关模块之前添加导入PyQt5,但结果相同,我不知道如何在.spec文件中添加PyQt5模块。@ashqks-要在.spec文件中添加模块,请在运行PyInstaller后,将在包含.py文件的目录中生成.spec文件。您可以打开此.spec文件并将模块添加到名为
hiddenimports
的列表中。例如:
hiddenimports=['PyQt5.QtCore','PyQt5.qtwidts','any_other_modules']
。更新.spec文件后,再次运行PyInstaller命令。亲爱的@apocladion,我执行了PyInstaller--debug,但在dist文件夹变为空之后。另外,enum34没有安装,我检查过了。上述错误未显示。感谢检查。在您最近更新您的问题后,我不再相信这是解决方案。亲爱的@Apocalaction,错误已得到纠正,但随后系统编解码器错误开始出现。我通过卸载enum34纠正了这一点。谢谢你的帮助。应用程序已开始运行,但它仍然不是独立的,因为它需要在同一文件夹位置运行面分类器xml文件和.ui设计器文件。你有什么建议吗,因为我希望它也能在其他windows系统上运行。嗨@ashqks很高兴我能帮助解决这个问题。有一些因素可能会导致此问题。能否请您开始一个新问题,并发布您的错误输出和.spec文件内容?那也许能帮我找到一个解决办法。至少,您应该将这些外部文件添加到.spec文件中的
datas
列表中。