【问题标题】:Cannot Load netCDF4 Due to Missing .dll File由于缺少 .dll 文件而无法加载 netCDF4
【发布时间】:2021-03-06 07:40:56
【问题描述】:

我最近通过 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 和/或 pymc3 的方法),这些模块出现了它们的版本号,因此它们似乎安装正确。我还尝试了全新安装 anaconda,甚至全新安装了 python,我通过 pip 安装了所有必要的软件包;这些操作都不起作用,而且我总是会收到相同的错误消息。

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

非常感谢任何帮助!

【问题讨论】:

  • 这可能是 Conda 问题。请将conda list -n base '^(pymc3|netcdf4|libnetcdf|vc)$' 的输出添加到您的问题中。
  • 这给出了错误“'netcdf4' 不是内部或外部命令、可运行程序或批处理文件。”
  • 听起来好像没有引号
  • 不过,请查看conda list 并报告这四个包的版本(和渠道)。
  • pymc3:3.8 netcdf4:1.5.3 libnetcdf:4.7.3 vc:14.1。这四个包中的任何一个都没有指定频道名称。

标签: python conda pymc3 netcdf4


【解决方案1】:

我遇到了同样的问题,尽管我按照本指南在我的 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

【讨论】:

    猜你喜欢
    • 2021-10-30
    • 1970-01-01
    • 1970-01-01
    • 2013-07-01
    • 2021-10-05
    • 2013-01-08
    • 1970-01-01
    • 2016-07-28
    • 1970-01-01
    相关资源
    最近更新 更多