Анаконда (Python) - интеграция с Cmder в Windows 10
У меня проблемы с тем, чтобы Cmder работал с Python через Anaconda на Windows 10 64bit.
Я получил Anaconda, работающую довольно хорошо, проверил, чтобы построить что-то с помощью matplotlib, и это прекрасно работает с Anaconda Prompt. Однако, если я пытаюсь запустить тот же файл.py в Cmder, я получаю следующую ошибку:
Traceback (most recent call last):
File "C:\ProgramData\Anaconda3\lib\site-packages\numpy\core\__init__.py", line 16, in <module>
from . import multiarray
ImportError: DLL load failed: The specified module could not be found.
Я предполагаю, что это как-то связано с путем vars среды, но я уже добавил к этому пути следующее:
- C: \ ProgramData \ Anaconda3 \
- C: \ ProgramData \ Anaconda3 \ Scripts \
- C: \ ProgramData \ Anaconda3 \ Lib \
Есть намеки?
Спасибо
5 ответов
Предположим, ваш путь установки Anaconda3 C:\ProgramData\Anaconda3
, На ваших настройках Cmder Startup
→ Tasks
добавить новые предопределенные задачи
название:
whatever
и команда:
cmd /k ""%ConEmuDir%\..\init.bat"" & C:\ProgramData\Anaconda3\Scripts\activate.bat C:\ProgramData\Anaconda3
Чтобы найти путь к Anaconda, введите в командной строке Anaconda следующую команду:
where anaconda
Например C:\ProgramData\Anaconda3\Scripts\anaconda.exe
путь будет C:\ProgramData\Anaconda3
Это двухэтапный процесс:
- Добавьте каталог установки cmder в переменную среды PATH. В моем случае добавляемый каталог
C:\ProgramData\Anaconda3\Scripts
. Не забудьте добавить доScripts
. Перезапустите cmder и убедитесь, что conda должна начать работать. См . Добавление каталога в переменную среды PATH в Windows. - Делать
conda init cmd.exe
. С помощью этой команды произойдут некоторые инициализации, и ваша подсказка cmder начнет действовать точно так же, как подсказка anaconda. Перезапустите cmder, и теперь вы можете использовать такие команды, какconda activate <env_name>
чтобы активировать среду по вашему выбору.
Теперь у вас может быть Linux-терминал со всеми параметрами приглашения anaconda на вашем компьютере с Windows.
Другой способ сделать это для миниконды:
Скопируйте локацию в папку со скриптами; в моем случае это было:
C:\Users\ ваше имя здесь \miniconda3\Scripts
В меню «Пуск» введите «Редактировать» и выберите «Редактировать переменные среды».
В окне добавьте новую переменную с именем Path и присвойте ей значение вышеупомянутого пути.
Перезагрузите Cmder и наслаждайтесь!
Это, вероятно, отлично работает для Anaconda3, но
Для Anaconda 2
cmd /k ""%ConEmuDir%\..\init.bat"" & C:\{PATH_TO}\Anaconda2\Scripts\activate.bat C:\{PATH_TO}\Anaconda2
Это можно довольно удобно настроить аналогично принятому ответу, настроив новую задачу в cmder, которая выглядит следующим образом:
set "PATH=[PATH_TO_YOUR_ANA/MINICONDA_INSTALL];%PATH%" &
%windir%\System32\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy ByPass -NoExit -Command "& '[PATH_TO_YOUR_ANA/MINICONDA_INSTALL]\shell\condabin\conda-hook.ps1' ; conda activate '[PATH_TO_YOUR_ANA/MINICONDA_INSTALL]' "
Вторая строка на самом деле просто копия того, что conda-powershell делает по умолчанию.
Удобные шаги для воспроизведения:
- найдите ссылку на исполняемый файл (ana/mini)-conda-powershell из панели поиска Windows.
- щелкните правой кнопкой мыши
- открыть папку
- щелкните правой кнопкой мыши приглашение, которое вы хотите интегрировать с cmder (в моем примере выше это тип powershell)
- характеристики
- скопируйте содержимое поля назначения (я предполагаю, что оно называется так в английских версиях Win10), и вы уже получите правильную вторую часть моего фрагмента выше.
- добавьте первую строку, которая устанавливает PATH с вашим индивидуальным путем к Ana/Miniconda
Первая строка в основном предназначена для того, чтобы немного уменьшить загрязнение вашего постоянного PATH. Будьте осторожны, чтобы не перезаписать
;%PATH%
когда вы копируете и вставляете свой путь ana/miniconda в первую строку.
Также имейте в виду, что вторая строка может выглядеть немного иначе в зависимости от вашей установки, поэтому я рекомендую не просто копировать и вставлять мой фрагмент, а следовать инструкциям, чтобы воспроизвести их.