import pandas as pd
df = pd.DataFrame({'a' : [1,2,3]})
df.to_hdf('temp.h5', key='df', mode='w')
这给了我错误。
缺少可选的依赖项“表”。 使用 pip 或 conda 安装表。
我已经尝试过了 ImportError HDFStore 需要 PyTables 没有名为tables 的模块。还是一样的错误。
我在读取 hdf 文件时遇到同样的错误。并且
tables
已经为我的 python 安装了。一些版本信息。
- python 3.7.4
- 熊猫0.25.2
- Windows10
PS:您可以在
repl
https://repl.it/. 中重现此内容
更新:
import tables
并收到此错误:
导入错误:无法加载任何['hdf5.dll','hdf5dll.dll'],请确保可以在系统路径中找到它。
看起来 pandas 没有为此给出准确的信息。它只是说在实际存在时缺少依赖关系。
如果有人知道如何解决这个问题。这会有帮助的。
对于 conda 用户:
conda install pytables
tables
。tables
安装到本地用户目录中时,它不起作用。pip install --user tables
运行
import tables
将导致此错误。
导入错误:无法加载任何['hdf5.dll','hdf5dll.dll'],请确保可以在系统路径中找到它
对我有用的解决方案是卸载表。并将其安装到python的目录中。 (或者你的Python安装位置)。
without --user option
。您可能需要管理员/root 访问权限,具体取决于您的 python 位置。C:\Program Files\Python37-64\python.exe
并且在c:\program files\python37-64\lib\site-packages\
下安装对我有用。 我通过使用让它工作
conda install snappy
使用表 3.6.1 帮助我解决了依赖关系
pip install tables==3.6.1
我使用以下命令成功解决了这个问题:
pip install --upgrade tables
希望对你有用!
上述解决方案对我不起作用。也许是因为我使用 conda-forge 通道构建了个人环境,所以我取得了成功:
conda install -c conda-forge pytables
我在使用
pip install -U -r requirements.txt
刷新现有 conda virtal env 时出现了这个问题。我解决了这个问题如下:
conda env remove -n <env> # remove your virtual env.
conda create -n <env> python==3.8 # create your virtual env again.
pip install -U -r requirements.txt
混合维护 conda 和 pip 包非常乏味,所以我只使用后者。
在 Apple M2 处理器上使用 MacOS Ventura,上述内容对我不起作用。最终对我有用的是:
env HDF5_DIR=/opt/homebrew/opt/hdf5 python3 -m pip install tables
其中
/opt/homebrew/opt/hdf5
是hdf5
安装位置
奇怪的是,我发现 pandas 错误与 pytables 无关,这是最后产生的错误。 在堆栈跟踪的较高位置,我注意到有关未导入 Callables 的错误(输入 support)。
这解决了我的问题:
pip install --upgrade typing_extensions