Я создал среду 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.
Если я просто запускаю тот же тестовый скрипт, используя мой корневой интерпретатор Python Conda, он работает нормально. Так что это только когда я пытаюсь использовать среду, которую я создал из conda.
Спасибо за помощь!
1. Сначала откройте Anaconda Powershell Prompt и выполните команду
conda activate (path where you have the anaconda environment)
2. затем откройте System--> Расширенная система Settings--> Переменные среды
в пользовательской переменной Path измените путь на
(path where you have the anaconda environment)Library\bin
в системную переменную добавьте новую переменную 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.Закройте затмение и запустите снова
Добавьте CONDA_DLL_SEARCH_MODIFICATION_ENABLE=1
в переменные среды.
Для VSCode либо файл .env
в папке рабочей области, либо ключ "env"
в файле launch.json должны помочь.
Я должен поместить следующее в мою переменную окружения пути: E:\program\Anaconda3\Library\bin, в противном случае я получил ту же проблему.
Здесь вы можете найти раздел страницы устранения неполадок для conda, связанный с вашей проблемой, и я думаю, что проблема заключается в неактивной среде.
С последней версией conda разработчики решили, что вместо того, чтобы загрязнять переменные среды их путями, вам нужно убедиться, что ваша среда активирована при выполнении каких-либо действий в ней, в противном случае такие вещи, как требуемые библиотеки DLL, не будут найдены.
Текущие IDE еще не обязательно адаптированы к этому изменению, я сам не могу использовать интегрированные консоли Python в PyCharm, потому что он пытается запустить его без предварительной активации среды. Видимо проблема должна быть исправлена в следующем выпуске.
В любом случае, если вы не можете заставить свою среду IDE активировать среды conda перед выполнением каких-либо команд, вам просто нужно использовать обычные терминалы, где вы можете убедиться, что среда активна.