pyinstaller打包exe---requests模塊打包後無法運行問題記錄

python程序中使用到requests,在開發環境中可以正常運行,但用pyinstaller 打包成單個exe文件後,卻無法運行,提示 requests 中的urllib3依賴的一個six.py模塊出現運行錯誤,提示 no module named 'queue'  接着導致提示  no module named 'urllib3'  



six.py提示錯誤在82行


def _import_module(name):
    """Import module, returning the module after the last dot."""
    __import__(name)  #82
    return sys.modules[name]


看起來像是自動導入模塊,查了些資料瞭解sys.modules  是個字典存儲有python啓動到現在,已加載的模塊


我的程序中沒有直接用queue模塊的地方,打包後也沒有其他途徑加載這個模塊,導致找不到。開發環境中運行卻無錯(猜測開發環境啓動時自動加載了一些模塊,可能是給用戶環境準備的,也可能是開發工具自己要使用就先加載了),嘗試在自己的程序中,顯示導入這個模塊(注該模塊是標準庫中一部分),儘管程序中沒有使用到。


再次打包,運行exe文件,成功,問題解決

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章