Вызов пакета Python из скрипта PowerShell

Вызов пакета Python из скрипта PowerShell

У меня активирована среда 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 решила мою проблему.

Связанный контент