当模块位于同一目录中时,pyinstaller importerror

时间:2018-01-28 22:33:00

标签: python pyinstaller

Pyinstaller最近停止导入以前没有问题的模块,所以我设置了一个简单的测试用例来隔离问题。

我创建了一个脚本(pt.py),如下所示:

import py_script1
import py_script
print('hello world')

py_script.py和py_script1.py相同,位于与pt.py相同的目录中。它们都导入os,随机和数学,并在其中有一些功能。

当使用默认设置运行pyinstaller时,它会编译.exe文件,但是当我尝试运行它时,我得到“ImportError:没有名为py_script的模块”。检查警告文本文件显示它从未编译到.exe文件中。

更改导入的顺序没有帮助 - 我得到了同样的错误。我也尝试卸载并重新安装pyinstaller,但这没有帮助

这怎么可能 - 两个导入的脚本是相同的,位于同一个地方!

更重要的是如何解决这个问题?

PyInstaller 3.3.1 Python 3.3.5 Windows 10

1 个答案:

答案 0 :(得分:0)

我解决了。尽管存在误导性的异常描述,但我将问题隔离为导入文件中的以下行:

SB_CONSTANT = 0.00000005670373#Stefan-Boltzmann常数(W / m2 / K4)

由于某种原因,这个数字打破了pyinstaller。我改成了:

SB_CONSTANT = 5.6704e-8

...并且模块导入正常。