2015-06-10 3 views
5

Я столкнулся с этим при экспорте мой сценарий (который использует numpy и scipy библиотеки) с помощью py2exe:скрипт с SciPy использованием py2exe

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 - без использования

Вопросы:

  • как я могу сделать эту работу?
  • что я должен/не должен делать вообще, чтобы избежать этих проблем?

Приложение:

Эти проблемные линии:

from scipy.misc import imread 
import numpy as np 

Я на самом деле не просят scipy.linalg и scipy.special и все же py2exe хочет их.

ответ

3

Я столкнулся с этой проблемой сегодня и нашел более полное решение от here.

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

Затем в вашем setup.py скрипт, используйте:

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

scipy.misc должно быть scipy.linalg.cython_blas в качестве зависимости. Для решения этой проблемы включают в себя следующий пакет в вашем py2exe настройки скрипта в «Параметры> включают» уровень:

scipy.linalg.cython_blas 
Смежные вопросы