2017-06-14 118 views
0

已經創建了一個可執行文件我Tkinter的GUI,鑽試圖運行它顯示了以下錯誤時: from.import_methods導入錯誤:無法導入名稱「_methods」 似乎有一個很多關於窗戶上的numpy。不知道這是爲什麼,因爲我沒有在項目上混淆不清。導入錯誤:無法導入名稱「_methods」

enter image description here

我setup.py代碼:

import sys 
import os.path 
from cx_Freeze import setup, Executable 


#include_files = ['autorun.inf'] 
PYTHON_INSTALL_DIR = os.path.dirname(os.path.dirname(os.__file__)) 
os.environ['TCL_LIBRARY'] = os.path.join(PYTHON_INSTALL_DIR, 'tcl', 'tcl8.6') 
os.environ['TK_LIBRARY'] = os.path.join(PYTHON_INSTALL_DIR, 'tcl', 'tk8.6') 

base = None 

if sys.platform == 'win32': 
    base = 'Win32GUI' 

#os.environ['TCL_LIBRARY'] = r'C:\Users\DonikuY\AppData\Local\Programs\Python\Python36-32\tcl\tcl8.6' 
#os.environ['TK_LIBRARY'] = r'C:\Users\DonikuY\AppData\Local\Programs\Python\Python36-32\tcl\tk8.6' 

executables = [ 
    Executable('VacuumPumpGUI.py', base=base) 
] 


options = { 
    'build_exe': { 
     'include_files':[ 
      os.path.join(PYTHON_INSTALL_DIR, 'DLLs', 'tk86t.dll'), 
      os.path.join(PYTHON_INSTALL_DIR, 'DLLs', 'tcl86t.dll'), 
     ], 
    }, 
} 

setup(name="VacuumPumpGUI", 
     version="0.1", 
     description="Vacuum pump serial GUI.", 
     options=options, 
     executables=executables 
    ) 
+1

請不要張貼堆棧跟蹤的屏幕截圖。花時間複製並粘貼並正確格式化。 –

+0

那麼最快的解決方案將是卸載numpy,看看這是否有竅門。然後,您需要花時間閱讀文檔以確保正確使用凍結。我沒有使用自己的凍結,但我會凍結圖像,不應該對未導入的庫進行任何操作。 –

+0

也看看這篇文章[如何創建 - exe文件在python-using-cx-freeze](https://stackoverflow.com/questions/17798128/how-to-create-exe-文件中的Python-使用-CX-凍結)。 –

回答

0

這是一個cx_freeze known issue

作爲一種變通方法,您可以在您的編譯選項:

options = { 
     'build_exe': { 
      'includes':['atexit', 'numpy.core._methods', 'numpy.lib.format'], 
     } 
    } 
相關問題