scipy 使用 py2exe 的脚本
Script with scipy using py2exe
在通过 py2exe
:
导出我的脚本(使用 numpy
和 scipy
库)期间,我有 运行
Traceback (most recent call last):
File "imPok.py", line 3, in <module>
File "scipy\misc\__init__.pyc", line 49, in <module>
File "scipy\special\__init__.pyc", line 603, in <module>
File "scipy\special\basic.pyc", line 18, in <module>
File "scipy\special\orthogonal.pyc", line 101, in <module>
File "scipy\linalg\__init__.pyc", line 188, in <module>
File "scipy\linalg\_decomp_update.pyc", line 12, in <module>
File "scipy\linalg\_decomp_update.pyc", line 10, in __load
File "scipy/linalg/_decomp_update.pyx", line 1, in init scipy.linalg._decomp_update (scipy\linalg\_decomp_update.c:35768)
ImportError: No module named cython_blas
尝试过:
- 正在安装 cython - 没用
- 删除
scipy
依赖项 - 有效,即问题出在 scipy
和 py2exe
之间的合作。
- 正在应用 this question 的解决方案 - 没用
问题:
- 我怎样才能做到这一点?
- 我通常 should/shouldn 不做什么来避免这个问题?
附录:
这些是有问题的行:
from scipy.misc import imread
import numpy as np
我实际上并没有要求 scipy.linalg
和 scipy.special
但 py2exe
想要它们。
scipy.misc
必须有 scipy.linalg.cython_blas
作为依赖项。要解决此问题,请在 "options > include" 级别的 py2exe 安装脚本中包含以下包:
scipy.linalg.cython_blas
我今天 运行 解决了这个问题,并从 here 找到了更彻底的解决方案。
opts = {"py2exe": {
"includes": ['scipy', 'scipy.integrate', 'scipy.special.*','scipy.linalg.*']}}
然后,在您的 setup.py 脚本中,使用:
setup(options=opts,windows=['script.py'])
在通过 py2exe
:
numpy
和 scipy
库)期间,我有 运行
Traceback (most recent call last):
File "imPok.py", line 3, in <module>
File "scipy\misc\__init__.pyc", line 49, in <module>
File "scipy\special\__init__.pyc", line 603, in <module>
File "scipy\special\basic.pyc", line 18, in <module>
File "scipy\special\orthogonal.pyc", line 101, in <module>
File "scipy\linalg\__init__.pyc", line 188, in <module>
File "scipy\linalg\_decomp_update.pyc", line 12, in <module>
File "scipy\linalg\_decomp_update.pyc", line 10, in __load
File "scipy/linalg/_decomp_update.pyx", line 1, in init scipy.linalg._decomp_update (scipy\linalg\_decomp_update.c:35768)
ImportError: No module named cython_blas
尝试过:
- 正在安装 cython - 没用
- 删除
scipy
依赖项 - 有效,即问题出在scipy
和py2exe
之间的合作。 - 正在应用 this question 的解决方案 - 没用
问题:
- 我怎样才能做到这一点?
- 我通常 should/shouldn 不做什么来避免这个问题?
附录:
这些是有问题的行:
from scipy.misc import imread
import numpy as np
我实际上并没有要求 scipy.linalg
和 scipy.special
但 py2exe
想要它们。
scipy.misc
必须有 scipy.linalg.cython_blas
作为依赖项。要解决此问题,请在 "options > include" 级别的 py2exe 安装脚本中包含以下包:
scipy.linalg.cython_blas
我今天 运行 解决了这个问题,并从 here 找到了更彻底的解决方案。
opts = {"py2exe": {
"includes": ['scipy', 'scipy.integrate', 'scipy.special.*','scipy.linalg.*']}}
然后,在您的 setup.py 脚本中,使用:
setup(options=opts,windows=['script.py'])