簡體   English   中英

Python“表”模塊“未找到”,但 PIP 和 Conda 表示已安裝

[英]Python "tables" module "Not Found", but PIP and Conda say it is installed

在 M1 Mac 上嘗試將 Pandas DataFrame 導出到 HDF5 時,我同時遇到兩個錯誤:

回溯(最近調用最后):文件“/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/pandas/compat/_optional.py”,第 126 行,在 import_optional_dependency module = importlib .import_module(name) 文件“/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/importlib/ init .py”,第 126 行,在 import_module return _bootstrap._gcd_import(name[level:], package , level) 文件“<frozen importlib._bootstrap>”,第 1050 行,在 _gcd_import 文件“<frozen importlib._bootstrap>”,第 1027 行,在 _find_and_load 文件“<frozen importlib._bootstrap>”,第 1004 行,在 _find_and_load_unlocked ModuleNotFoundError 中:沒有名為“表”的模塊

在處理上述異常的過程中,又出現了一個異常:

回溯(最近調用最后):文件“/Users/casey/Documents/PythonProjects/untitled folder/json_load_test.py”,第 19 行,在 <module> objects.to_hdf('/Users/casey/Documents/PythonProjects/untitled folder /final.h5', key='objects') 文件“/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/pandas/core/generic.py”,第 2775 行,在to_hdf pytables.to_hdf(文件“/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/pandas/io/pytables.py”,第311行,在to_hdf with HDFStore(文件“/ Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/pandas/io/pytables.py”,第 572 行,在init tables = import_optional_dependency(“tables”) 文件“/Library/Frameworks /Python.framework/Versions/3.10/lib/python3.10/site-packages/pandas/compat/_optional.py”,第 129 行,在 import_optional_dependency raise ImportError(msg) ImportError: Missing optional dependency 'pytables'. 使用 pip 或conda 安裝 pytables。

但是當我嘗試使用 PIP 安裝“表格”時,我收到了這條消息:

已滿足要求:/opt/homebrew/Caskroom/miniforge/base/lib/python3.9/site-packages (3.7.0) 中的表已滿足要求:/opt/homebrew/Caskroom/miniforge 中的 numpy>=1.19.0 /base/lib/python3.9/site-packages (from tables) (1.19.5) 要求已經滿足:打包在/opt/homebrew/Caskroom/miniforge/base/lib/python3.9/site-packages (from tables ) (21.3) 要求已經滿足:/opt/homebrew/Caskroom/miniforge/base/lib/python3.9/site-packages 中的 numexpr>=2.6.2(來自表) (2.8.1) 要求已經滿足:pyparsing。 =3.0,5.>=2.0.2 in /opt/homebrew/Caskroom/miniforge/base/lib/python3.9/site-packages (from packaging->tables) (3.0.4)

當使用 Conda 安裝“pytables”時,我收到以下消息:

收集 package 元數據(current_repodata.json):完成解決環境:完成

所有請求的包都已安裝。

我已經被困在這堵磚牆上一段時間了,只是不知道如何繼續。

仔細閱讀錯誤消息。 您有 2 個 Python 安裝。 它們是不同的版本,可能安裝了不同的包。
第一條消息引用/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10
第二條消息引用/opt/homebrew/Caskroom/miniforge/base/lib/python3.9
(僅供參考,Mac 附帶安裝了 Python——這會使您的生活變得復雜。)

解決方案是保持一致。 在 3.10 環境中安裝 Pandas,或在 3.9 環境中運行 Python。

以下是一些驗證您正在運行的 Python 和 package 版本的技術:

# to get Python version:
import sys
print(sys.version)

# to get package version: 
import package
print(package.__version__)
# where package is pandas, tables, etc

Conda 和 pip 將列出您的包和版本:

conda list (or conda list package_name)
pip list

暫無
暫無

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

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