Ответ 1
Я полагаю, что все, что предлагает Anaconda, это открыть CMD и запустить командный файл. Сделайте первую команду вашего скрипта:
call <anaconda_dir>/Scripts/activate.bat <anaconda_dir>
После установки anaconda3 в windows я могу запускать команды python из приглашения anaconda, но не из командной строки Windows.
Я хотел бы сделать ярлык на рабочем столе, чтобы активировать мою среду и запустить spyder из нее. Раньше я делал это с файлом .bat
, но теперь, когда я не могу запускать команды python из cmd.exe
, это не работает.
Есть ли альтернативный способ запуска пакетных файлов для запроса anaconda?
Я знаю, что я мог бы просто изменить свой PATH
, чтобы получить cmd.exe
для запуска команд python, но я хотел бы избежать этого, если это возможно.
Я полагаю, что все, что предлагает Anaconda, это открыть CMD и запустить командный файл. Сделайте первую команду вашего скрипта:
call <anaconda_dir>/Scripts/activate.bat <anaconda_dir>
Расширяя ответ Джереми:
Вам необходимо использовать call
для сценария "activ.bat", а также для любых последующих команд, связанных с Anaconda/Python. В противном случае приглашение сразу завершится после запуска команд, даже если вы используете оператор pause
. Пожалуйста, смотрите ниже пример:
set root=C:\Users\john.doe\AppData\Local\Continuum\anaconda3
call %root%\Scripts\activate.bat %root%
call conda list pandas
pause
добавлять
call "<anaconda_dir>\Scripts\activate.bat"
в начало вашего скрипта (на самом деле он не требует аргумента и по умолчанию активирует base
среду).
Обратите внимание, что после этой строки вы можете использовать CONDA_
CONDA_!
Версия Powershell:
$qtconsole="C:\Users\<YourUserName>\.anaconda\navigator\scripts\qtconsole.bat"
start-process $qtconsole -WindowStyle Hidden
Примечание: этот скрипт будет запускать только один экземпляр qtconsole одновременно из-за ограничений DLL библиотеки Linux QT GUI Linux, поддерживающей только один экземпляр одного и того же exe файла, запущенного одновременно. Вероятно, поэтому они используют "Anaconda Navigator" для запуска программ QtConsole, чтобы обойти это ограничение.