2015-06-10 16 views
5

Tôi đã chạy vào này trong xuất khẩu kịch bản của tôi (trong đó sử dụng numpyscipy thư viện) thông qua py2exe:Script với scipy sử dụng 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 

Cố gắng:

  • cài đặt cython - không sử dụng
  • xóa scipy phụ thuộc - đã hoạt động, tức là sự cố đang được hợp tác giữa scipypy2exe.
  • áp dụng các giải pháp của this question - không sử dụng

Câu hỏi:

  • làm thế nào tôi có thể làm cho công việc đó?
  • những gì tôi nên/không nên làm nói chung để tránh sự cố này?

Phụ lục:

Đây là những dòng có vấn đề:

from scipy.misc import imread 
import numpy as np 

tôi thực sự đã không yêu cầu scipy.linalgscipy.special nhưng các py2exe muốn họ.

Trả lời

3

Tôi chạy vào vấn đề này ngày hôm nay, và tìm thấy một giải pháp triệt để hơn từ here.

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

Sau đó, trong kịch bản setup.py của bạn, sử dụng:

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

scipy.misc phải có scipy.linalg.cython_blas làm phụ thuộc. Để giải quyết này bao gồm các gói sau đây trong thiết lập kịch bản py2exe tại "Tùy chọn> bao gồm" mức:

scipy.linalg.cython_blas 
Các vấn đề liên quan