首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

Python 2.7 matplotlib 導入錯誤:缺少 six 模組 _thread

     編輯:程式設計綜合問答

錯誤訊息

ImportError: cannot import name _thread
  File "...\dateutil\rrule.py", line 16, in 
    from six.moves import _thread

原因

`python-dateutil` 2.8.0+ 依賴 `six` 模組,但 `six` 版本過舊或安裝損壞,導致 `six.moves._thread` 缺失。Python 2.7 中 `_thread` 模組名為 `thread`,`six` 應提供相容層。

解決步驟

  1. 升級 six**:
    pip install --upgrade six
  2. 重裝 python-dateutil**:
    pip install --upgrade python-dateutil
  3. 若仍失效,指定相容版本**:
    pip install "python-dateutil<2.8.0" "six>=1.12.0"
  4. 檢查 site-packages**:確認 `six.py` 存在且包含 `_thread` 導入邏輯。

根本建議:遷移至 Python 3

  • Python 2.7 **已於 2020/01/01 停止維護**,無安全更新。
  • matplotlib 3.3+ 已**放棄支援 Python 2.7**。
  • 建立虛擬環境 `python -m venv venv`,使用 Python 3.8+ 開發新專案。

快速驗證

python -c "import six; print(six.__version__); from six.moves import _thread; print('OK')"

結論

升級 `six` 與 `python-dateutil` 通常可解決,但**長遠必須遷移至 Python 3**,避免相依性地獄與安全風險。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved