У меня активирована среда conda в командной строке powershell. У меня есть пакет python, который был установлен с помощью pip:
pip install -e .
который устанавливает мой пакет с точкой входа simulate
. Он отлично работает при вызове из командной строки powershell:
simulate "abcd"
Когда я пытаюсь вызвать его из скрипта PowerShell, он не может быть найден.
powershell.exe .\run.ps1
возвращает:
simulate : The term 'simulate' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct
and try again.
At C:\path\to\script\run.ps1:1 char:1
+ simulate "abcd"
+ ~~~~~~~
+ CategoryInfo : ObjectNotFound: (nwsetup:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
решение1
Используйте Start-Process
и его -ArgumentList
опцию для выполнения команды python (или скрипта), передавая ей значение аргумента, которое ожидает фактическая команда python (или скрипт). Установите параметр -FilePath
как полный путь к python.exe
файлу в Windows.
PowerShell
Start-Process -FilePath "C:\Program Files\Python\python.exe" -ArgumentList 'simulate "abcd"';
или вызвать скрипт Python
Start-Process -FilePath "C:\Program Files\Python\python.exe" -ArgumentList '"c:\scripts\simulate.py" "abcd"';
Поддерживающие ресурсы
решение2
Замена simulate "abcd"
внутри C:\path\to\script\simulate.exe "abcd"
скрипта powershell решила мою проблему.