Llame a un paquete de Python desde el script de PowerShell

Llame a un paquete de Python desde el script de PowerShell

Tengo un entorno conda activado en el símbolo del sistema de PowerShell. Tengo un paquete de Python que se instaló con pip:

pip install -e .

que instala mi paquete con un punto de entrada simulate. Funciona bien cuando se llama desde el símbolo del sistema de PowerShell:

simulate "abcd"

Cuando intento llamarlo desde un script de PowerShell, no se puede encontrar.

powershell.exe .\run.ps1

devoluciones:

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

Respuesta1

Utilice Start-Processy su -ArgumentListopción para ejecutar el comando (o script) de Python pasándole el valor del argumento que espera el comando (o script) de Python real. Configure el -FilePathparámetro para que sea la ruta completa al python.exearchivo en Windows.

Potencia Shell

Start-Process -FilePath "C:\Program Files\Python\python.exe" -ArgumentList 'simulate "abcd"';

o llamar a un script de Python

Start-Process -FilePath "C:\Program Files\Python\python.exe" -ArgumentList '"c:\scripts\simulate.py" "abcd"';

Recursos de apoyo

Respuesta2

Reemplazar simulate "abcd"por C:\path\to\script\simulate.exe "abcd"dentro del script powershell resolvió mi problema.

información relacionada