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-Process
y su -ArgumentList
opció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 -FilePath
parámetro para que sea la ruta completa al python.exe
archivo 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.