2016-07-04 1 views
0

J'ai utilisé py2exe pour construire un exe d'un programme qui utilise scipy et numpy et j'obtiens la prochaine erreur dans le fichier journal lorsque j'ai essayé d'exécuter le programme.py2exe importer numpy et 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' 

J'ai essayé quelque chose comme mettre mon dossier setup.py comme ceci:

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

Mais cela ne fonctionne pas et je reçois encore cette erreur. Je ne sais pas quoi faire pour résoudre ce problème ... J'espère que vous pouvez m'aider. Merci.

+0

Pourquoi ne pas utiliser 'pyinstaller', il importe automatiquement tous les modules requis – Eular

+0

@Eular il y a certains avantages et inconvénients à différents outils de gel de code. [Voici une liste d'entre eux] (http://docs.python-guide.org/en/latest/shipping/freezing/). Par exemple. la licence peut être importante. [Voici un fil de discussion sur les différentes licences] (http://stackoverflow.com/questions/3902754/mit-vs-gpl-license). – Ian

+0

J'ai lu sur internet, et j'ai trouvé que PyInstaller et py2exe ont un problème avec numpy, scipy et matplotlib qui ne peuvent pas importer ces librairies. –

Répondre

0

J'ai été résoudre le problème en ajoutant dans la section "includes" de mon setup.py tous les fichiers que le fichier journal me renvoie comme manquant. Après 7 fichiers, le programme s'exécute sans aucune erreur.