PyCharm w/ conda 中的“ImportError: DLL load failed”:如何自动导入 conda 的 PATH?

use*_*974 5 python pycharm conda

我已经通过 conda 安装了 python,创建了一个新环境,安装了 PyCharm 并将其配置为使用该环境。

\n\n

当我在 PyCharm 中启动 python 控制台时,我看到了

\n\n
\n

C:\\ Users \\ 9973879 \\ AppData \\ Local \\ Continuum \\ miniconda3 \\ envs \\ foo \\ lib \\ site-packages \\ IPython \\ core \\ history.py:226:用户警告: IPython历史记录需要SQLite,您的历史记录将不会被保存

\n
\n\n

事实上,如果我尝试import sqlite3,我会得到

\n\n
\n

ImportError: DLL 加载失败: 找不到指定的模块。

\n
\n\n

然而Project Interpreters > Interpreter Paths确实列出了C:\\Users\\9973879\\AppData\\Local\\Continuum\\miniconda3\\envs\\foo\\{DLLs, Lib, site-packages}。此外,从同一虚拟环境 \xe2\x80\x94 中的命令行 \xe2\x80\x94 启动的 python 解释器导入此包也会成功。

\n\n

编辑

\n\n

看来问题出在PATH环境变量上。调用时conda activate fooconda会向 中添加一堆文件夹PATH,其中包含各种库(特别是sqlite3.dll)。

\n\n

当指向现有环境(或创建新环境)时,PyCharm 会自动将文件夹添加到PYTHONPATH前面指出的,但似乎不会向PATH.

\n\n

我通过在调用 后从命令行运行 PyCharm 来测试这个假设conda activate foo,并且它有效。当然,必须从特定的 conda 环境启动 PyCharm 并不好,因为我陷入了这个特定的环境。

\n\n

如何将 PyCharm 配置为自动更新环境conda activate?难道不应该直接开箱即用吗?

\n

Him*_*ima 5

我通过将DLL添加到我的<path_to_environment>/DLLs位置解决了该问题

  • 不是我们应得的英雄,而是我们需要的英雄。 (2认同)

use*_*974 1

该问题似乎可以通过升级到最新的 4.6.7 版本的 conda 来解决。发行说明 中的​​相关行可能

  • 在 Windows 上将 conda 恢复为 cli 主文件中的 PATH 前缀 (#8307)

我不确定为什么它影响 PyCharm 而不是我的情况下的普通 python。