2016-03-06 49 views
8

Sistem:py2exe'yi Dosya "numpy çekirdek multiarray.pyc", hat 10,: DLL yükü başarısız oldu:

Windows 7 64 bit

Anaconda 2.7 64 bit

py2exe 64 bit

Geçmiş:

benim piton dönüştürülmüş kod aşağıda gösterilen py2exe'yi ve setup.py dosyasını kullanarak .exe:

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() 
    ) 

Ama bu iki dosyalarla sürüm çakışması olduğunu söyleyerek bana biraz hata verdi. Böylece iki dosyayı değiştirdim viz. dist/tcl/tcl8.5/init.tcl (satır 19) ve dist/tcl/tk8.5/tk.tcl (satır 18'de). Benim durumumda sürümü 8.5.15'ten 8.5.18'e değiştirdim. Hata kütüğündeki hata tarafından belirtilen yola bakarak iki dosyanın yerini buldum. Sonra .exe sadece iyi çalıştı.

Sorun:

Ben .exe dosyasını içeren dist klasörü sıkıştırılmış. Sonra onu başka bir bilgisayarda açtım ama orada çalışmıyor. gösterir hata aşağıdadır:

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. 

Güncelleme: Ben sistemde Anaconda Python 2.7 yüklerseniz, hiçbir hata var . Ama sonra, py2exe kullanımı nedir.

cevap

5

Aynı sorunla karşılaştım. Solüsyon aşağıdaki linke bulunmuştur:

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

Kısacası, iki DLL "C: \ Anaconda2 \ Library \ bin" py2exe ait "dist" çıktıda eksik.

+0

Aslında, sonunda tüm DLL'leri C: \ Anaconda2 \ Library \ bin dizininde dist klasörüne kopyaladıktan sonra çalıştı. –

+0

Hangi iki dll? bağlantı çalışmıyor. – Ewan

+3

Benim durumum için, libiomp5md.dll ve mkl _ *. Dll – Ewan