【问题标题】:PyDev/Eclipse not loading _mklinit when run from a Conda environment从 Conda 环境运行时,PyDev/Eclipse 未加载 _mklinit
【发布时间】:2019-07-25 05:54:32
【问题描述】:

我创建了一个 conda 环境 - testenv2 - 安装了 python/numpy/pandas。在 Eclipse 项目设置中将其添加为解释器,并使用它来运行我的测试 python 脚本。我收到以下错误。当我激活 conda 环境并在其中运行时,相同的测试脚本可以在命令行中正常工作。它也适用于 PyCharm。但不知何故无法在 Eclipse 中启动。

Traceback (most recent call last):
  File "C:\Data\projects\eclipse-workspace\PythonEclipse\Test.py", line 1, in <module>
    import numpy as np
  File "C:\Data\devtools\Anaconda3\envs\testenv2\lib\site-packages\numpy\__init__.py", line 140, in <module>
    from . import _distributor_init
  File "C:\Data\devtools\Anaconda3\envs\testenv2\lib\site-packages\numpy\_distributor_init.py", line 34, in <module>
    from . import _mklinit
ImportError: DLL load failed: The specified module could not be found.

如果我只是使用我的根 Conda Python 解释器运行相同的测试脚本,它就可以正常工作。所以只有当我尝试使用我从 conda 创建的环境时。

感谢您的帮助!

【问题讨论】:

  • 这个运气好吗?

标签: python eclipse pydev conda


【解决方案1】:

CONDA_DLL_SEARCH_MODIFICATION_ENABLE=1 添加到您的环境变量中。

对于 VSCode,工作区文件夹中的 .env 文件或 launch.json 中的 "env" 键应该可以解决问题。

来源:https://docs.conda.io/projects/conda/en/latest/user-guide/troubleshooting.html#numpy-mkl-library-load-failed

【讨论】:

    【解决方案2】:

    我必须将以下内容放入我的路径环境变量中: E:\program\Anaconda3\Library\bin ,否则我会遇到同样的问题。

    【讨论】:

      【解决方案3】:

      1.首先打开Anaconda Powershell Prompt并运行命令

      conda activate (path where you have the anaconda environment)
      

      2.然后打开系统-->高级系统设置-->环境变量

      a.在User变量Path中将路径改为

      (path where you have the anaconda environment)Library\bin
      

      b.在系统变量中添加一个新变量 PYTHONPATH 并将其路径指定为

      (path where you have the anaconda environment)\Lib;(path where you have the anaconda environment)\DLLs;(path where you have the anaconda environment)\Lib\lib-tk;(Drive where you have the anaconda environment)\other-folders-on-the-path
      

      3.关闭eclipse并再次运行

      【讨论】:

        【解决方案4】:

        Here您可以找到与您的问题相关的 conda 故障排除页面部分,我认为非活动环境是这里的问题。

        使用最新的 conda 版本,开发人员决定与其路径污染环境变量,不如确保在其中执行任何操作时激活环境,否则将找不到所需的 DLL。

        当前的 IDE 还不一定适应这种变化,我自己不能在 PyCharm 中使用集成的 Python 控制台,因为它会尝试在不事先激活环境的情况下运行它。显然这个问题应该在下一个版本中修复。

        无论如何,如果你不能让你的 IDE 在运行任何命令之前激活 conda 环境,你只需要忍受使用普通终端,你可以确保环境处于活动状态。

        【讨论】:

          【解决方案5】:

          在环境变量路径中添加 DLL 位置 (C:\Programs\Python\Python35\DLLs)。这对我有用。

          【讨论】:

            猜你喜欢
            • 2014-12-08
            • 2019-06-22
            • 1970-01-01
            • 1970-01-01
            • 2019-11-08
            • 2019-08-13
            • 2020-07-21
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多