2016-07-04 93 views
0

我用py2exe來構建一個使用scipy和numpy的程序的exe,並且當我嘗試運行該程序時,在日誌文件中出現下一個錯誤。py2exe導入numpy和scipy

Traceback (most recent call last): 
File "GLP2-e Admin.pyw", line 24, in <module> 
File "C:\Python34\lib\site-packages\scipy\ndimage\__init__.py", line 161, in <module> 
from .filters import * 
File "C:\Python34\lib\site-packages\scipy\ndimage\filters.py", line 37, in <module> 
from scipy.misc import doccer 
File "C:\Python34\lib\site-packages\scipy\misc\__init__.py", line 51, in <module> 
from scipy.special import comb, factorial, factorial2, factorialk 
File "C:\Python34\lib\site-packages\scipy\special\__init__.py", line 629, in <module> 
from .basic import * 
File "C:\Python34\lib\site-packages\scipy\special\basic.py", line 18, in <module> 
from . import orthogonal 
File "C:\Python34\lib\site-packages\scipy\special\orthogonal.py", line 101, in <module> 
from scipy import linalg 
File "C:\Python34\lib\site-packages\scipy\linalg\__init__.py", line 190, in <module> 
from ._decomp_update import * 
File "<loader>", line 10, in <module> 
File "<loader>", line 8, in __load 
ImportError: (No module named 'scipy.linalg.cython_blas') 'Y:\\Factory\\GLP2-e Admin (Todos los archivos)\\Compilaciones\\Versión 2.1\\dist\\scipy.linalg._decomp_update.pyd' 

我已經嘗試了一些東西一樣把我的setup.py文件是這樣的:

options ={ 
    'py2exe': { 
     'bundle_files' : 3, 
     r'includes':[r'scipy.sparse.csgraph._validation', 
        r'scipy.special._ufuncs_cxx',], 
     'packages' : ['encodings'], 
     } 
    }, 

但它不工作,我仍然得到這個錯誤。 我不知道該怎麼辦才能解決這個問題... 希望你能幫助我。 謝謝。

+0

爲什麼不使用'pyinstaller',它會自動導入所有需要的模塊 – Eular

+0

@Eular對於不同的代碼凍結工具有一定的優點和缺點。 [這是它們的列表](http://docs.python-guide.org/en/latest/shipping/freezing/)。例如。許可證可能是重要的。 [這是關於不同的許可證的線程](http://stackoverflow.com/questions/3902754/mit-vs-gpl-license)。 – Ian

+0

我一直在網上閱讀,我發現,PyInstaller和py2exe有一個問題,numpy,scipy和matplotlib無法導入這個庫。 –

回答

0

我已經解決了在我的setup.py的「includes」部分添加日誌文件將我丟失的所有文件的問題。 7個文件後,該程序運行沒有任何錯誤。