簡體   English   中英

PyInstaller隱藏的進口

[英]PyInstaller Hidden Imports

我有一個完全工作的Python程序,它使用以下導入:

import json
import requests
from natsort import natsorted

但是,當我嘗試使用PyInstaller將其編譯為可執行文件時,我收到以下錯誤:

注意:可能不完美,因為它被我的反應時間和截圖所捕獲:

File "site-packages\requests\packages\urllib3\packages\six.py", line 82, in _import_module
ImportError: No module named 'queue'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "huepy3.py", line 2, in <module>
File "c:\users\andrew\appdata\local\programs\python\python35-32\lib\site-packages\PyInstaller\loader\pyimodo3_importer
py", line 389, in load_module
exec(bytecode, module.__dict__)
File "site-packages\requests\__init__.py", line 63, in <module>
File "c:\users\andrew\appdata\local\programs\python\python35-32\lib\site-packages\PyInstaller\loader\pyimodo3_importer
py", line 389, in load_module
exec(bytecode, module.__dict__)
File "site-packages\requests\utils.py", line 24, in <module>
File "c:\users\andrew\appdata\local\programs\python\python35-32\lib\site-packages\PyInstaller\loader\pyimodo3_importer
py", line 389, in load_module
exec(bytecode, module.__dict__)
File "site-packages\requests\_internal_utils.py", line 11, in <module>
File "c:\users\andrew\appdata\local\programs\python\python35-32\lib\site-packages\PyInstaller\loader\pyimodo3_importer
py", line 389, in load_module
exec(bytecode, module.__dict__)
File "site-packages\requests\compat.py", line 11, in <module>
File "c:\users\andrew\appdata\local\programs\python\python35-32\lib\site-packages\PyInstaller\loader\pyimodo3_importer
py", line 389, in load_module
exec(bytecode, module.__dict__)
File "site-packages\requests\packages\__init__.py", line 29, in <module>
ImportError: No module named 'urllib3'
Failed to execute script huepy3

我讀了錯誤,並嘗試在我的代碼中導入urllib3。 那也返回了相同的錯誤。 我認為這取決於urllib3與請求的關系,但我該如何解決這個問題呢? 我在線閱讀有關FileDialog的信息,並再次返回相同的錯誤。

任何關於此的指針都將非常感激。

編輯:這不僅僅是隊列導入問題,更多的是如何更改庫請求嘗試導入的路徑以及pyinstaller如何在第一個實例中獲取這些路徑。

編輯2:好的,也許我應該問PyInstaller如何編譯它找到的依賴項以及它存儲在哪里? 我可以自己試一試。

編輯3:通過網絡爬行數小時,我相信我可能會隱藏進口。 這些如何用於獲取urllib3?

你可以:

  • 手動更新spec文件以包含urllib3

要么

  • 使用參數--hidden-import=urllib3運行--hidden-import=urllib3

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM