python - 使用 py2exe 的 scipy 脚本

标签 python python-2.7 py2exe

我在通过 py2exe 导出我的脚本(使用 numpyscipy 库)时遇到了这个问题:

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 依赖项 - 有效,即问题在于 scipypy2exe 之间的协作。
  • 应用 this question 的解决方案- 没用

问题:

  • 我怎样才能让它发挥作用?
  • 一般情况下我应该/不应该做什么来避免这些问题?

附录:

这些是有问题的行:

from scipy.misc import imread
import numpy as np

我实际上并没有请求 scipy.linalgscipy.specialpy2exe 想要它们。

最佳答案

我今天遇到了这个问题,从here找到了更彻底的解决方案.

opts = {"py2exe": {
    "includes": ['scipy', 'scipy.integrate', 'scipy.special.*','scipy.linalg.*']}}

然后,在您的 setup.py 脚本中,使用:

setup(options=opts,windows=['script.py'])

关于python - 使用 py2exe 的 scipy 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30754772/

相关文章:

Python re.findall() 和优先级

python - 定时器的暂停/恢复功能

python - Py2exe - Pmw WindowsError : [Error 3]

python - 在python中替换撇号/短词

python - 更简洁的 Elif 语句

python - 在python中查找并删除以特定子字符串开头和结尾的字符串

python-2.7 - 在 python 内部使用 csound

python - 将 PyGTK 转换为 exe

windows - 用于 python 脚本的 EXE 文件

python - 将扁平化列表转换为字典列表