簡體   English   中英

導入錯誤:pandas pyinstaller 中沒有名為“distutils”的模塊

[英]ImportError: No module named 'distutils' in pandas pyinstaller

我已經通過 pyinstaller 創建了一個可執行文件。 在運行 exe 時發現了熊貓的錯誤​​。

Traceback (most recent call last):
  File "score_python.py", line 3, in <module>
    import pandas as pd, numpy as np
  File "d:\virtual\sc\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 627, in exec_module
    exec(bytecode, module.__dict__)
  File "site-packages\pandas\__init__.py", line 23, in <module>
  File "d:\virtual\sc\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 627, in exec_module
    exec(bytecode, module.__dict__)
  File "site-packages\pandas\compat\__init__.py", line 32, in <module>
ImportError: No module named 'distutils'

有沒有人發現同樣的?

這是 16.4.0 版本以后的 virtualenv 的問題,如 github 上的以下問題所示: https : //github.com/pyinstaller/pyinstaller/issues/4064

建議采用以下變通方法:

  1. 在 .spec 文件中的“hiddenimports=[]”行中,更改為“hiddenimports=['distutils']”,然后使用 spec 文件運行 pyinstaller。

    試過這個,但它在我的情況下不起作用,現在可以找到 distutils 模塊,但是在導入模塊時它拋出了一個錯誤。

  2. 將 virtualenv 降級到早期版本。

    我將 virtualenv 降級到 16.1.0 版並重新創建了執行包。 在我的情況下,新的執行文件工作正常。

找到解決方案,這是因為虛擬環境。

由於在創建項目時創建了新的虛擬環境而發生錯誤。 我已經刪除了我現有的虛擬並通過設置 python 解釋器並選擇pre-existing interpreter選項創建了新的虛擬。

IDE 將創建一個名為venv的虛擬並將所有 python 文件從 Python/bin 復制到此文件夾,然后從這里導入模塊,通過激活解決了我的問題。

暫無
暫無

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

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