【问题标题】:Script with scipy using py2exe使用 py2exe 使用 scipy 编写脚本
【发布时间】:2015-06-10 11:20:00
【问题描述】:

我在通过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.special,但py2exe 想要它们。

【问题讨论】:

    标签: python python-2.7 py2exe


    【解决方案1】:

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

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

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

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

    【讨论】:

      【解决方案2】:

      scipy.misc 必须具有 scipy.linalg.cython_blas 作为依赖项。要解决此问题,请在“选项 > 包含”级别的 py2exe 安装脚本中包含以下包:

      scipy.linalg.cython_blas
      

      【讨论】:

        猜你喜欢
        • 2016-09-04
        • 2011-09-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-12-02
        • 2010-11-12
        • 2015-05-23
        相关资源
        最近更新 更多