2016-03-24 9 views
11

Ho incluso matplotlib nel mio programma, ho cercato su numpy_atlas.dll su google e mi sembra di essere l'unico sulla Terra con questo problema.Py2Exe, [Errno 2] Nessun file o directory di questo tipo: 'numpy-atlas.dll'

setup.py

from setuptools import setup 
import py2exe 

setup(console=['EulerMethod.py']) 

in corso risultati py2exe in errore

C:\(..obmitted..)>python setup.py py2exe 
running py2exe 
*** searching for required modules *** 
*** parsing results *** 
...... 
...obmitted... 
...... 
*** finding dlls needed *** 
error: [Errno 2] No such file or directory: 'numpy-atlas.dll' 
+0

Questo problema è sorto per me quando ho reinstallato python. In precedenza, la mia sceneggiatura funzionava perfettamente. Ho trovato il file in C: \ Anaconda2 \ Lib \ site-packages \ numpy \ core, ma py2exe non riesce a trovarlo per qualche motivo. Precedentemente, stavo usando python (x, y), ma sono passato ad Anaconda (ancora python 2.7.x). – kjgregory

risposta

0

Suona come py2exe non riesce a trovare dll. Seguente script farà tranquilla py2exe:

distutils.core.setup(
options = { 
    "py2exe": { 
     "dll_excludes": ["MSVCP90.dll"] 
    } 
}, 
... 

)

Hai ancora bisogno di fare in modo che dll è sulla macchina dell'utente. Credo che numpy-atlas.dll sia una delle dipendenze di matplot.

Considerare inoltre l'utilizzo di PyInstaller se tutto il resto fallisce.

+0

Sai come posso impacchettare l'exe in modo da includere tutte le dipendenze delle bambole? –

+0

.dll dovrebbe trovarsi nella directory dist lungo il lato dell'eseguibile. – frainfreeze

+0

Non ho ancora provato la tua soluzione, farò in modo di provarla e scegliere la tua risposta se funziona. –

17

Questo è ciò che ha funzionato per me. Ho trovato la dll: C: \ Python27 \ lib \ site-packages \ NumPy \ Core \ NumPy-atlas.dll e copiato nella stessa cartella che ha il setup.py

+0

Impossibile confermare, ma sembra legittimo. –

+0

PU CAN confermare. La risposta accettata non ha funzionato. Questo ha fatto. Mi sono imbattuto in questo errore dopo l'aggiornamento a Numpy 1.11. – mattrweaver

+0

L'atlante non è un requisito per numpy, quindi non funzionerà per tutti gli utenti. –

11

ho incontrato lo stesso problema. Dopo un piccolo test, l'aggiunta della directory numpy.core a sys.path sembrava funzionare.

from distutils.core import setup 
import py2exe 

import numpy 
import os 
import sys 

# add any numpy directory containing a dll file to sys.path 
def numpy_dll_paths_fix(): 
    paths = set() 
    np_path = numpy.__path__[0] 
    for dirpath, _, filenames in os.walk(np_path): 
     for item in filenames: 
      if item.endswith('.dll'): 
       paths.add(dirpath) 

    sys.path.append(*list(paths)) 

numpy_dll_paths_fix() 
setup(...) 
+0

Grande, ha funzionato per me! – TomSmartBishop

+0

Ha funzionato anche per me. –

+0

Ha funzionato per me 3! –

Problemi correlati