PyInstaller 規範檔案匯入錯誤:解決「無名為模組」
嘗試使用PyInstaller 建置Python 腳本時,您可能會遇到錯誤「ImportError:沒有名為「blah」的模組」。當 PyInstaller 無法在可執行檔中包含所有必要的模組時,就會出現此問題。
規範文件配置
您產生的規範文件包含以下分析:
a = Analysis([os.path.join(HOMEPATH,'support/_mountzlib.py'), os.path.join(HOMEPATH,'support/useUnicode.py'), 'icinga.py'], pathex=['/home/user/projects/icinga_python/releases/v2.1'])
此分析識別要包含在可執行文件中的Python 檔。但是,它似乎不包含來自第三方軟體包的任何模組,例如“mysql”或“urllib2”模組。
動態匯入
如果您Python 腳本動態匯入模組,例如使用「importlib」模組,PyInstaller 可能無法將它們包含在您的執行檔中。這是因為動態導入未在您的程式碼中明確聲明。
解決錯誤
要解決此錯誤,您有兩個選項:
python pyinstaller --hidden-import mysql.connector --onefile myscript.py
此命令將指示PyInstaller 將'mysql.connector' 模組包含在您的執行檔中,即使它沒有明確匯入到您的程式碼中.
關於--onefile 選項的注意事項
“--onefile”選項不會直接影響可執行檔中模組的包含。它只是將所有 PyInstaller 生成的檔案打包到一個可執行檔中。
以上是為什麼 PyInstaller 會拋出'ImportError:沒有名為'blah'的模組”以及如何修復它?的詳細內容。更多資訊請關注PHP中文網其他相關文章!