【发布时间】:2015-12-04 12:58:03
【问题描述】:
我正在使用 pyinstaller 构建一个独立的可执行文件。 Pyinstaller 成功生成可执行文件,但是当我运行 .exe 时出现以下错误:
ImportError:C 扩展:“lib”未构建。如果要导入 pandas 从源目录,您可能需要先运行“python setup.py build_ext --inplace”来构建 C 扩展。
在尝试解决问题时,我在 C:\Python34\Lib\site-packages\pandas 中寻找“setup.py”文件,但没有找到。我还使用 pip 卸载了 pandas,然后从 www.lfd.uci.edu/~gohlke/pythonlibs/ 的 .whl 文件重新安装。我还用谷歌搜索了这个错误,发现有人似乎有类似的问题here。在这种情况下,通过运行'python setup.py build_ext --inplace --force' 解决了问题,但同样,我在 pandas 目录中找不到 setup.py。我还找到了“只使用 Linux”的建议,但这不是一个选项,因为这是为了工作。我还尝试使用 py2exe 和 cx_freeze 构建可执行文件,但这些都不起作用。
我在 Windows 7 下使用 Python 3.4,当我从 PyCharm 内部运行程序时,程序运行正常。如何获得工作的独立 .exe?
编辑:
使用 py2exe 构建可执行文件并运行后,我得到的错误是:
ImportError: (DLL load failed: 指定的模块不能被 成立。) 'C:\Users\aarjad\PycharmProjects\MyProgram\dist\scipi.special._ufuncs.pyd')
但是,'scipi.special._ufuncs.pyd' 就在那个文件夹中,所以我不知道那里会发生什么。
使用 cx_freeze 构建可执行文件并运行它后,我得到的错误是:
ImportError: Error importing scipi: you cannot import scipi while 在 scipi 源目录中;请退出 scipy 源代码树 首先,然后重新启动你的 python 解释器。
【问题讨论】:
-
您需要在
program.spec文件的datas条目中添加额外的库文件...我认为pyinstaller 还没有很好的python3 支持(也可能是问题的一部分)。 .. 还要查看 pyinstaller “hooks”,因为可能已经有一个 pandas ...\ -
Pandas 应该能够按照 PyInstaller 的“支持的软件包”页面开箱即用,因此不需要挂钩。 github.com/pyinstaller/pyinstaller/wiki/Supported-Packages
-
hmmm ...好吧,它在python 2中运行良好,所以请参阅我的第二点......因为它显然在python3“开箱即用”中不起作用,你必须添加一些钩子......
-
我做了一些谷歌搜索,找不到熊猫的钩子。 ://
-
对不起......我的第一条评论提供了应该帮助它工作的信息......但我不打算安装 python3.4,所以我将退出这个对话,希望有人熟悉 3.4 和 pyinstaller 会为您提供更多见解
标签: pandas python-3.4 py2exe pyinstaller cx-freeze