Estoy usando Windows PowerShell. Digamos que tengo un script llamado test.py
que imprime algunas cosas. Si lo hago:
PS D:\>.\test.py
luego abre una ventana CMD que imprime algunas cosas y luego se cierra. En realidad, está ejecutando el intérprete de Python en CMD. Si lo hago
PS D:\>python test.py
actúa como lo esperaría, y la salida aparece en PowerShell.
¿Cómo puedo hacer que el script se ejecute en PowerShell cuando solo doy su nombre?
windows
powershell
jcrawfordor
fuente
fuente
PATHEXT
variable usando la respuesta aceptada de zdan a continuación, si coloca los scripts de Python en un directorio nombrado por suPATH
variable de entorno, ya no será necesario proporcionar una ruta totalmente calificada (o relativa) para ejecutarlos. Luego, los scripts de Python se comportan como cualquier otro programa instalado, y puede unirlos en canalizaciones con otros programas / cmdlets ( por ejemploget-clipboard | myscript.py
), y todas esas otras bondades.:)
Respuestas:
Edite la variable de entorno PATHEXT y agregue la extensión .py.
Simplemente agregue esta línea a su perfil de PowerShell :
o simplemente puede editar PATHEXT globalmente en la configuración del sistema (solo busque "entorno" en el menú Inicio y elija la opción "Editar variables de entorno para su cuenta").
fuente
Es posible que tenga instalada más de una versión de Python y la versión que IDLE está usando es más nueva. Para ver qué versión de Python tiene, puede escribir> python -V en una línea de comando. Si esa versión parece apropiada, entonces podría necesitar la ruta completa al archivo como segundo parámetro. Por ejemplo, python C: \ myfile.py.
Si instaló Python correctamente, siempre existe la posibilidad de que simplemente escribiendo el nombre del script lo ejecute con python. Por ejemplo, myfile.py
Siempre encuentro que agregar C: \ Python27 a la variable% PATH% y .PY a la variable% PATHEXT% facilita la ejecución de scripts. En este caso, solo> myfile debería funcionar.
Editar después de la actualización:
Escribir solo> python sin parámetros abre python en 'modo interactivo', que es diferente del modo por lotes o scripts para el que está destinado su script. Si se ejecuta con argumentos, el primer argumento se toma como la ruta del archivo y otros argumentos se pasan al script en la lista sys.argv.
fuente