linea - ejecutar python en linux
ejecutar el script de python directamente desde la línea de comandos (2)
#!/usr/bin/env python
Puse eso en la parte superior de un guión. He visto que debería hacer que el script se pueda ejecutar desde la línea de comandos sin la necesidad de python programname.py
. A menos que malinterprete, debería ser capaz de usar programname.py
siempre que tenga la línea arriba en la parte superior del script. ¿Es esto correcto?
No funciona para mí Acabo de recibir un error que indica que tendría que usar python
al comienzo de la ''llamada''.
hacer que el archivo sea ejecutable
sudo chmod +x /path/to/file.py
y luego desde el mismo directorio que file.py:
./file.py
Ejecución universal de scripts de Python
Puedes ejecutar universalmente sin el shebang ( #!
) Con
python myscript.py
O casi equivalentemente (coloca el directorio actual en su ruta y ejecuta el módulo llamado myscript
) (preferiblemente, haga esto!) :
python -m myscript
desde la línea de comandos, siempre y cuando tenga Python instalado y en su variable de entorno de ruta (es decir, configurado para ejecutarse con python
, que, si está instalado, sería normalmente el caso).
Shebangs ( #!
) Son una cosa de Unix.
El shebang, como lo está usando, normalmente se ejecuta en una plataforma Unix (generalmente Apple o Linux). Windows normalmente requeriría que cygwin use el shebang.
Por lo general, puede establecer de forma predeterminada lo que python está disponible en la ruta del sistema con:
#!/usr/bin/env python
Asumiendo que estás en un Unix, puedes probar otras ubicaciones para tu configuración de python, como:
#!/usr/bin/python
Muddling a través de
Puedes ver qué python estás usando usando el comando unix, así que si quieres ver de dónde viene tu python, usa este comando:
which python
o en Windows (cygwin probablemente pueda ejecutar el shebang):
where python
En Linux / Unix, necesitará ejecuciones permanentes para ejecutar el archivo también, de esa manera. Utilice chmod
chmod +x myscript.py
(chmod también puede aplicar a Cygwin en Windows)
Si no está ejecutando como root, puede requerir sudo
, y eso sería
sudo chmod +x myscript.py
Y luego intente ejecutar (dentro del mismo directorio) con
./myscript.py