由于缺少 .dll 文件而无法加载 netCDF4

Cannot Load netCDF4 Due to Missing .dll File

我最近通过 conda install 在我的 Windows 10 机器上安装了 pymc3,但是每当我尝试导入它时它都会抛出一个 ImportError。确切的错误消息,具体链接到 netCDF4 包,提供的是:

File "C:\Users\benam\anaconda3\lib\site-packages\netCDF4\__init__.py", line 3, in <module>
from ._netCDF4 import * ImportError: DLL load failed while importing _netCDF4: The specified procedure could not be found.

我在网上几乎找不到任何与这个确切问题相关的内容,除了这个线程:https://github.com/ContinuumIO/anaconda-issues/issues/1671

在这里,两个用户发现这个错误是由于缺少 MSVC 2010 C++ 运行时库中的 debug dll 文件造成的;由于此调试 dll 文件并非在所有系统上都存在,所以此问题会不时出现。

虽然我真诚地希望这不再是导致此错误的问题(因为这是一个相当大的错误并且链接线程已有近 3 年历史),但我尝试下载特定的调试 dll (msvcr100d.dll) 并将其放置在我系统上与非调试版本相同的位置,但没有成功(仍然存在相同的错误消息)。

我还尝试了另一种技巧,该技巧显然曾经在同一个线程中起作用,我通过 conda 删除了 pymc3,然后使用 pip 重新安装它。这也不起作用。我也专门为 netCDF4 模块尝试了同样的方法,因为这是导致问题的原因,但也没有用。当运行 pip list 或 conda list (取决于我用哪种方法安装netCDF4 and/or pymc3)时,这些模块出现了它们的版本号,所以它们似乎安装正确。我也尝试过全新安装 anaconda,甚至自己全新安装 python,我通过 pip 安装了所有必要的软件包;这些操作都不起作用,我总是会收到相同的错误消息。

在这一点上,我完全不知道我能做些什么来解决这个问题。是否有关于此的任何新信息,或者至少比我链接的 ~3 年前的线程更新?

非常感谢任何帮助!

我遇到了同样的问题,尽管我按照本指南在我的 Windows 10 机器上安装了 PyMC3: https://github.com/pymc-devs/pymc3/wiki/Installation-Guide-(Windows).

不过我最初是按照纯 conda 安装的。 通过 conda 和 pip 进行混合安装对我有用:

# starting out with a fresh environment
conda create -n mypm3env python=3.8 mkl-service libpython m2w64-toolchain scipy matplotlib pandas
# install PyMC3 through pip
pip install pymc3