pytables 的 DLL 加载失败
Posted
技术标签:
【中文标题】pytables 的 DLL 加载失败【英文标题】:DLL load failed for pytables 【发布时间】:2019-10-09 18:14:21 【问题描述】:运行包含 pytables 的代码时出现以下错误:
Traceback (most recent call last):
File "C:\Users\pierr\python354\lib\site-packages\pandas\io\pytables.py", line 469, in __init__
import tables # noqa
File "C:\Users\pierr\python354\lib\site-packages\tables\__init__.py", line 90, in <module>
from .utilsextension import (
ImportError: DLL load failed: The specified procedure could not be found.
...
File "C:\Users\pierr\python354\lib\site-packages\pandas\io\pytables.py", line 472, in __init__
'importing'.format(ex=str(ex)))
ImportError: HDFStore requires PyTables, "DLL load failed: The specified procedure could not be found." problem importing
python 版本 3.5.4 | 表版本 3.4.2 |窗户 10
【问题讨论】:
【参考方案1】:我遇到了同样的问题。在我卸载并重新安装 pytables 后它就消失了。
conda remove -n MYENVNAME pytables
conda config --add channels conda-forge
conda install pytables
【讨论】:
【参考方案2】:我遇到了类似的问题。当我尝试运行以下代码时:
import pandas as pd
df = pd.read_hdf('some.hdf')
我遇到了一个错误:
ImportError: Missing optional dependency 'tables'. Use pip or conda to install tables.
即使pytables
模块是使用 conda 和 pip 安装的(最后当然是tables
),错误仍然存在。
import tables
也不起作用:
from .utilsextension import (
ImportError: DLL load failed: Не найден указанный модуль.
"Не найден указанный модуль"
在俄语中的意思是"The specified module was not found"
。
我爬入 Traceback 中最后一个模块所在的文件夹 - '~\AppData\Roaming\Python\Lib\site-packages\tables' 并在那里找到名为 utilsextension.cp37-win_amd64.pyd
的文件。然后我下载了Dependency Walker
实用程序并查看了这个文件。程序说找不到pytables_hdf5.dll
。我在文件夹 ~\AppData\Roaming\Python\Lib\site-packages\tables\
中找到了这个文件,并通过以下方式将其添加到 PATH 变量中:
os.environ['PATH'] += os.pathsep + os.path.expanduser('~\\AppData\\Roaming\\Python\\Lib\\site-packages\\tables')
之后一切正常,import tables
和 pd.read_hdf
不再返回错误。
希望这对某人有用。
【讨论】:
依赖walker是不错的工具,但是当我使用它时(对于.utilsextension的ImportError的相同问题),它说它找不到几个文件,包括python37.dll和zlib.dll。我想它在某处缺少一些路径。【参考方案3】:使用these installation instructions 安装 PyTables 帮助我解决了这个问题。我使用了 Conda 选项。
【讨论】:
以上是关于pytables 的 DLL 加载失败的主要内容,如果未能解决你的问题,请参考以下文章
在 HDF5 (PyTables) 中存储 numpy 稀疏矩阵