Как следует из названия, я хотел бы запустить Anaconda
's ipython
на Windows 10 Windows Terminal (Preview)
(предпочтительно во cmd.exe
вкладке) за один раз.
Кза один присестЯ имею в виду, что с помощью одного ярлыка или пакетного файла я могу начать работать со ipython
средой в Windows 10 Windows Terminal (perview)
.
В настоящее время я могу сделать это в 3 шага:
Открыть
Windows Terminal (Preview)
. В качестве альтернативы я могу создать ярлык для программы, путь к которойC:\Program Files\WindowsApps\Microsoft.WindowsTerminal_0.5.2661.0_x64__8wekyb3d8bbwe\WindowsTerminal.exe
. Я изменил настройки так, чтобы вкладка по умолчанию былаcmd.exe
вместоPowerShell
.В
Windows Terminal (Preview)
, запустите среду Anaconda, введяC:\Anaconda3\Scripts\activate.bat C:\Anaconda3
, гдеC:\Anaconda3
находится моя папка установки. Тогда каждая строка приглашения будет начинаться с(base)
.Введите
ipython
приглашение. Затем запустится Ipython. Приглашение теперь выглядит такIn [1]:
: .
Но я не знаю, как объединить эти 3 шага в один, с помощью пакетного файла или чего-то еще. Любая идея, которая поможет автоматизации, будет высоко оценена!
Редактировать:C:\Anaconda3\Scripts\activate.bat
Для справки , содержание
@REM Copyright (C) 2012 Anaconda, Inc
@REM SPDX-License-Identifier: BSD-3-Clause
@REM Test first character and last character of %1 to see if first character is a "
@REM but the last character isn't.
@REM This was a bug as described in https://github.com/ContinuumIO/menuinst/issues/60
@REM When Anaconda Prompt has the form
@REM %windir%\system32\cmd.exe "/K" "C:\Users\builder\Miniconda3\Scripts\activate.bat" "C:\Users\builder\Miniconda3"
@REM Rather than the correct
@REM %windir%\system32\cmd.exe /K ""C:\Users\builder\Miniconda3\Scripts\activate.bat" "C:\Users\builder\Miniconda3""
@REM this solution taken from https://stackoverflow.com/a/31359867
@set "_args1=%1"
@set _args1_first=%_args1:~0,1%
@set _args1_last=%_args1:~-1%
@set _args1_first=%_args1_first:"=+%
@set _args1_last=%_args1_last:"=+%
@set _args1=
@if "%_args1_first%"=="+" if NOT "%_args1_last%"=="+" (
@CALL "%~dp0..\condabin\conda.bat" activate
@GOTO :End
)
@REM This may work if there are spaces in anything in %*
@CALL "%~dp0..\condabin\conda.bat" activate %*
:End
@set _args1_first=
@set _args1_last=
решение1
Процедура:
Откройте Windows Terminal. Нажмите Ctrl+ ,, чтобы открыть
settings.json
файл в текстовом редакторе по умолчанию.Добавьте следующий объект JSON в
profile
массив.
{
"guid": "{ee4fe116-1375-4c00-925c-1e361f99496d}",
"name": "Anaconda ipython",
"commandline": "cmd.exe /C C:\\Anaconda3\\Scripts\\activate.bat C:\\Anaconda3 & ipython",
"hidden": false
},
- Измените
defaultProfile
значение на этот GUID, чтобы автоматически открывать Anaconda ipython при запуске.
"defaultProfile": "{ee4fe116-1375-4c00-925c-1e361f99496d}",
Объяснение:
Что делает commandline
? Он выполняется cmd.exe
с activate.bat
файлом. /C
Параметр выполняет команду, а cmd.exe
затем завершает работу. Если вы хотите предотвратить завершение работы, используйте /K
параметр. Символ амперсанда (&) выполняет ipython
команду после выполнения activate.bat
файла.
GUID генерируется случайным образом с помощью uuidgen
, проверьте, не совпадает ли он с GUID других профилей в этом JSON-файле. Смотритеэтот ответдля получения более подробной информации о том, как редактировать файл JSON.