Pyinstaller“执行失败”脚本

时间:2020-05-26 08:11:46

标签: python pyinstaller

我是编程新手。我做了一个python脚本。它在pycharm中运行没有错误。我使用pyinstaller尝试制作一个exe。当我在build或dist文件夹中甚至通过命令提示符运行exe时,它给我错误“无法执行脚本主程序”

我正在附加警告文件链接:

https://drive.google.com/open?id=1cDQ2KGId0B8K9Qi1bWPIhL55hQO0dM-z

请帮助!

2 个答案:

答案 0 :(得分:2)

每个虚拟环境都有一个pip脚本。因此,当您安装python模块时,它将安装到projectname \ venv \ Lib \ site-packages目录中。

从终端运行pyinstaller以生成可执行文件时,pyinstaller会检查Sys.path中的依赖项。但是该路径不包括projectname \ venv \ Lib \ site-packages目录。因此,pyinstaller无法找到那些特定的依赖项。在这种情况下,它会向您发出警告。可以在可执行文件附近的“ warnname.txt”中找到这些警告。

如何配置pycharm以运行pyinstaller

  1. 首先,您需要将pyinstaller添加到项目解释器中。 update
  2. 然后,您需要设置运行配置。 enter image description here enter image description here

脚本名称:python脚本的路径

工作路径:项目位置

保留解释器选项在图像中的位置。

  1. 运行pyinstaller。您可以在dist目录中找到您的.exe。

  2. 如果“找不到模块”错误仍然存​​在。您可以添加一个隐藏的导入挂钩并指定缺少的模块的名称。导航到 Project Path \ venv \ Lib \ site-packages \ PyInstaller \ hooks 并创建一个新的“ hook-pandas .py ”(hook-modulename.py)脚本,并列出隐藏的导入模块,如下所示:

hiddenimports = ['pandas._libs.tslibs.np_datetime','pandas._libs.tslibs.nattype','pandas._libs.skiplist']
  1. 然后再次运行pyinstaller,它现在应该可以工作。

答案 1 :(得分:1)

我知道我是在 10 个月后写这篇文章的,但我遇到了同样的问题,我知道解决方案。所以,也许一些有同样问题的人可以得到帮助。

如果您的脚本有任何其他文件,例如 db、csv、png 等,您应该将此文件添加到同一目录中。这样你就可以解决我猜的问题。至少我的问题是这样解决的。