2016-03-06 13 views
8

System:py2exe Plik "numpy rdzeń multiarray.pyc", linia 10, w __load ImportError: load DLL nie powiodło się:

Windows 7 64-bit

Anaconda 2.7 64-bit

py2exe 64-bitowy

Tło:

konwertowane mi pytona Kod do .exe za pomocą py2exe i setup.py poniższy plik:

from distutils.core import setup 
import py2exe 

from distutils.filelist import findall 
import matplotlib 

opts = {"py2exe": { 
    "packages" : ['matplotlib'], 
    "includes": ['scipy', 'scipy.integrate', 'scipy.special.*','scipy.linalg.*'], 
     'dll_excludes': ['libgdk-win32-2.0-0.dll', 
          'libgobject-2.0-0.dll', 
      'libgdk_pixbuf-2.0-0.dll'] 
        } 
      } 

setup(
     windows = [{'script': "with_GUI.py"}], zipfile = None, 
     options= opts, 
     data_files = matplotlib.get_py2exe_datafiles() 
    ) 

Ale to dało mi jakiś błąd, mówiąc, że nie było w wersji konflikt z dwóch plików. Więc zmieniłem dwa pliki viz. dist/tcl/tcl8.5/init.tcl (w linii 19) i dist/tcl/tk8.5/tk.tcl (w linii 18). W moim przypadku zmieniłem wersję z wersji 8.5.15 na 8.5.18. Znalazłem lokalizację dwóch plików, patrząc na ścieżkę określoną przez błąd w dzienniku błędów. Wtedy .exe działało dobrze.

Problem:

mam spakowane dist folder zawierający plik .exe. Następnie rozpakowałem go na innym komputerze, ale nie działa. Poniżej znajduje się błąd to pokazuje:

Traceback (most recent call last): 
    File "Moment_Final.py", line 5, in <module> 
    File "matplotlib\__init__.pyc", line 122, in <module> 
    File "matplotlib\cbook.pyc", line 33, in <module> 
    File "numpy\__init__.pyc", line 180, in <module> 
    File "numpy\add_newdocs.pyc", line 13, in <module> 
    File "numpy\lib\__init__.pyc", line 8, in <module> 
    File "numpy\lib\type_check.pyc", line 11, in <module> 
    File "numpy\core\__init__.pyc", line 14, in <module> 
    File "numpy\core\multiarray.pyc", line 12, in <module> 
    File "numpy\core\multiarray.pyc", line 10, in __load 
ImportError: DLL load failed: The specified module could not be found. 

Aktualizacja: Gdybym zainstalować Anakonda Pythona 2.7 w systemie, nie ma błędu. Ale jaki jest pożytek z py2exe?

Odpowiedz

5

Napotkałem ten sam problem. Rozwiązanie zostało znalezione na poniższy link:

http://comments.gmane.org/gmane.comp.python.py2exe/4847

Krótko mówiąc, dwóch bibliotek DLL z "C: \ Anaconda2 \ Library \ bin" brakowało w "dist" wyjściu py2exe.

+0

Właściwie to w końcu zadziałało, po tym jak skopiowałem wszystkie biblioteki DLL w folderze C: \ Anaconda2 \ Library \ bin do folderu dist. –

+0

Które dwa pliki dll? link nie działa. – Ewan

+3

Dla mojego przypadku jest to plik libiomp5md.dll i plik mkl _ *. Dll – Ewan

Powiązane problemy