1

我正在尝试从我的 python 脚本创建一个可执行文件。我的脚本运行良好,但冻结后,启动 .exe 给我以下错误:

http://www.bild.me/bild.php?file=4663406scipyerror.png

我正在使用 Python 3.2.3、Scipy 0.12.0b1、Numpy 1.7.0 和 Matplotlib 1.2.0(均为 32 位)。

关于如何解决这个问题的任何想法/提示?我的猜测是我必须在我的冻结脚本中手动包含一些东西,但我的猜测已经不多了:-(

我终于让它工作了,但我对我的解决方案非常不满意:

1) 复制_odepack.pydodepack.py从 SciPy 包到我的程序文件夹

2)odepack.py改变from . import _odepackimport _odepack(否则ValueError: Attempted relative import in non-package被提出)

3)在我的主要变化from scipy.integrate import odeintfrom odepack import odeint

现在它按预期工作,使用 cx_freeze 后它仍在工作。
仍然不知道为什么它以前不起作用:-(

感谢 ThomasK 将我推向正确的方向 :-)

4

1 回答 1

2

我终于通过将“scipy.integrate.vode”指定为 cx 设置文件中的包含来解决这个 vode 问题。这导致文件“scipy.integrate.vode.pyd”最终出现在构建文件夹中。我在 Windows 上使用 SciPy 0.11、Python 3.2.3 和最新的 cx。

但是手动将这样一个“scipy.integrate.vode”文件添加到构建文件夹也不能解决我的问题,即使 cx 也找不到许多其他 .pyd 文件需要这样的手动包含修复(并且由此上面的 setup.py 包含解决方案将不起作用)...

感谢您分享您的痛苦和智慧,否则不会设法冻结我的程序...

于 2013-06-10T17:20:03.473 回答