当前位置: 首页 > 知识库问答 >
问题:

使用-f选项时,pyinstaller中的Exe失败。好吧,没有那个选项

西门智
2023-03-14

我在导入matplotlib.pyplot的python脚本上使用pyinstaller。pyinstaller创建的exe在生成满是文件的目录时运行良好。但是,当使用pyinstaller-f选项创建单个exe文件时,exe将失败。当它失败时会报告两个问题:

回溯的最后两行报告如下:

文件“C:\users\vern\documents\python\testplot\build\testplot\out00-pyz.pyz\matplotlib.pyplot”,第80行,在_backend_selection中

文件“C:\pyinstaller\pyinstaller\loader\pyi_importers.py”,第409行,在load_module module=imp.load_module(fullname,fp,filename,self._c_ext_tuple)中

最后一个,Impor恐怖是exe停止的地方。

我在Windows7机器上使用python 2.7.6和pyinstaller 2.1。

pyinstaller运行时会生成一些警告消息。它们看起来像这样:

我在所以和护目镜上到处找了找,但没有任何运气。我希望能够使用-f选项来生成一个用于分发的exe文件。我没有为pyinstaller使用任何其他选项,也没有对自动生成的规范文件做任何事情。我的其他python脚本在使用-f转换为单个exe文件时不会导入matplotlib。

共有1个答案

易骁
2023-03-14

使用PyInstaller,我还得到了ImporTerror:当试图使用--onefile打包我的程序时,无法导入模块'pyside.qtcore',但是使用--onedir选项时没有问题。尽管pyside.qtcore在运行时如预期出现在temp目录中,但情况仍然如此。在我的代码中,我是直接导入PyQt4,而PySide是由其他模块导入的。从您发布的内容来看,这两个模块似乎也在您的代码中使用。

读了这篇文章后,我尝试在我的规范文件中添加'pyside'作为排除项,以强制独占使用PyQt4,现在exe运行良好。排除PySide或PyQt4可能对您的情况也有帮助。

 类似资料:
  • 因此,我今天的梁工作以以下警告结束: /usr/local/lib/python2。7/dist包/apache_-beam/runners/dataflow/dataflow_-runner。py:800:BeamDeprecationWarning:自第一个稳定版本以来,选项已被弃用。提及。选项将不受支持 所以据我所知,与其这样做: 我将不得不谈到这一点: 但有一个问题,很多选项不再可用,例如

  • 在这篇文章之后——docker:“build”需要一个参数。请参阅“docker build--help”,我试图在Mac 10.13.6上使用一个非传统名称(“local.Dockerfile”)的文件来构建我的docker映像。我试过下面的方法 但docker让我窒息了。我运行的是19.03.5版。

  • 本文向大家介绍F# 匹配选项,包括了F# 匹配选项的使用技巧和注意事项,需要的朋友参考一下 示例 模式匹配对于处理选项很有用:            

  • 我在lexer语法文件中编写并用antlr4编译它。上面说 看来“filter”只适用于ANTLR3 我查了wikihttp://www.antlr.org/wiki/display/antlr4/options,没有找到答案。“filter”关键字也不在源文件https://github.com/antlr/antlr4/blob/master/tool/src/org/antlr/v4/too

  • 我有一个可以包含多个可选ID的类,该类将选择第一个可用ID并将其返回给调用方。像下面这样。 我想使用像map和orElse这样的可选方法,但在这种情况下,它会导致太多的嵌套。另外两个伪代码选项可能是。 有没有比我现有的方法更好的方法?我很想通过做香草isPresent()检查来避免嵌套。

  • 问题内容: 我正在测试短ping测试程序。如果我将简单的ping命令设置功能,它将按设计工作。但是,如果我添加另外平的选择,我有 ping:未知主机源 回信。如果我从x终端手动执行两个命令,则两个命令都能正常工作。 我需要使程序从不同的源接口IP执行ping操作。使用JSch的两个命令有什么区别setCommand? (加工) (不工作) 码: 问题答案: 您的语法对我来说似乎很奇怪。但我相信您,