PyInstaller可执行文件引发了ImportError:没有名为requests的模块

时间:2016-12-16 00:52:49

标签: python python-2.7 runtime-error python-requests pyinstaller

我在使用PyInstaller创建独立可执行文件时遇到问题。具体来说,当我运行pyinstaller -F module_name.py时,它会创建可执行文件,但可执行文件因ImportError而失败:没有名为requests的模块。该模块通过REPL运行良好。我知道还有一些使用PyInstaller的ImportErrors的问题;我研究了它们但仍然无法使它发挥作用。

这是我的设置:

  • Windows 7 64位上的Pycharm 2016.3
  • Python 2.7.12虚拟环境中的32位
  • PyInstaller 3.2

这是一个全新的虚拟环境,具有运行此程序所需的绝对最低限度。请求和PyInstaller都是从pip新安装的,而pip确认它们都是最新的。

我已经检查了我的PYTHONPATH,并且虚拟环境的路径在那里并且正确,请求位于虚拟环境的site_packages目录中。我尝试添加--hiddenimports = requests,没有变化。我希望我不会错过一些明显的东西,但我的想法很不错。

我注意到的一件事:PyInstaller生成的warncheck.txt文件显示了大量缺少的导入,其中许多是标准库(如re,functools和datetime)。我不知道这是否是其他错误的症状。

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:0)

我昨晚忘记尝试的一件事就是尝试不同版本的PyInstaller。我卸载了PyInstaller 3.2并安装了PyInstaller 3.1,现在可执行文件运行完美,没有任何问题。我将向PyInstaller人员报告这个问题,以便他们能够找到问题。