2008-11-20 14 views
59

Acabo de instalar un sistema Linux (Kubuntu) y me preguntaba si hay un programa para hacer que los programas de Python sean ejecutables para Linux.¿Qué uso en Linux para hacer que un programa de Python ejecutable

+0

Dupe de http://stackoverflow.com/questions/193077/standalone-python-applications-in-linux –

+0

No, no es un engaño. Esa pregunta está relacionada con la distribución del software de python, lo que evita la disponibilidad de la biblioteca y problemas de compatibilidad. – tzot

+0

Ya respondió aquí [http://stackoverflow.com/questions/193077/...](http://stackoverflow.com/questions/193077/standalone-python-applications-in-linux) –

Respuesta

106

sólo hay que poner esto en la primera línea del script:

#!/usr/bin/env python 

hacerlo ejecutable con

chmod +x myfile.py 

Ejecutar con

./myfile.py 
+4

Estoy confundido. ¿Cómo funciona el "#!/Usr/bin/env python" cuando se supone que el hash lo convierte en una línea comentada? Intenté ejecutar el script sin la línea hash, pero no funcionó. Entonces, obviamente, la línea es obligatoria, pero ¿cómo funciona si es un comentario? – Nav

+11

De acuerdo, lo tengo. Es una línea shebang: http://en.wikipedia.org/wiki/Shebang_(Unix) – Nav

+1

Si envías scripts a un compañero programador, está bien. Pero esta no es una forma adecuada de distribuir programas de Python a los usuarios finales. ¿Qué pasa si el usuario no tiene Python instalado? ¿Qué sucede si lo hacen, pero es una versión diferente de la que escribió el programa? En general, esto solo funcionará para un pequeño porcentaje de usuarios, especialmente en Windows. –

4

Poner estas líneas al inicio de el código le indicará a su sistema operativo que busque el programa binario necesario para la ejecución de la pyth en secuencia de comandos, es decir, es el intérprete de Python.

Por lo tanto, depende del sistema operativo en el que se encuentre el intérprete de Python. Como tengo Ubuntu como sistema operativo, tengo el intérprete de Python en /usr/bin/python, así que tengo que escribir esta línea al comienzo de mi secuencia de comandos python;

#!/usr/bin/python 

Después de completar y guardar su código

  1. Comience su terminal de comandos

  2. Asegúrese de que el guión se encuentra en el directorio de trabajo actual

  3. Tipo chmod +x script_name.py

  4. Ahora puede iniciar el script haciendo clic en el script. Aparecerá un cuadro de alerta; presione "Ejecutar" o "Ejecutar en el terminal" en el cuadro de alerta; o, en el símbolo terminal, escriba ./script_name.py

11

Si desea obtener una aplicación binaria independiente en Python trate de usar una herramienta como py2exe o PyInstaller.

+0

keyword: standalone –

+0

¿Puedo descompilar PyInstaller's ¿salida? – SuB

5

Puede usar PyInstaller. Genera un dist de compilación para que pueda ejecutarlo como un único archivo "binario".

http://pythonhosted.org/PyInstaller/#using-pyinstaller

Python 3 tiene la opción nativa de crear un dist construcción también:

https://docs.python.org/3/distutils/builtdist.html

+0

la pregunta no es sobre hacer scripts de python archivos exe/elf – warvariuc

+3

Lo siento, pero parece que la pregunta es ¡simplemente! "Me preguntaba si existe un programa para hacer ejecutables los programas de Python para Linux". –

0

Otra forma de hacerlo podría ser mediante la creación de un alias. Por ejemplo, en la terminal de escritura:

alias printhello='python /home/hello_world.py' 

Escribir printhello se ejecutará hello_world.py, pero esto es sólo temporal. Para hacer alias permanente, hay que añadirlos a bashrc, se puede editar escribiendo esto en el terminal:

gedit ~/.bashrc 
-1

En la parte superior de su código de primera escritura:

#usr/bin/python o #usr/bin/env python Entonces crear un nuevo archivo llamado .shsetup.sh y escribir:

sudo apt-get install python python-pip 
sudo chmod +x yourfile.py 
sudo -H pip install librariesyouwant 

Por lo tanto eliminando el problema de no tener pitón y la instalación de cualquier paquete faltante s. Para crear un acceso directo de escritorio hacer esto:

sudo cp yourfile.py ~/Desktop/ 
sudo chmod +x ~/Desktop/yourfile.py 

Por favor, tenga en cuenta que si su código no está hecho para crear una interfaz gráfica de usuario que tendrá que ejecutar el código del terminal con ./yourfile.py

+0

El material de Apt y Pip es tangencial pero útil si su script tiene dependencias externas y desea distribuirlo a otros, pero no directamente aquí. El 'chmod' definitivamente no necesita ejecutarse con' sudo' a menos que de alguna manera ya hayas logrado instalarlo en un directorio donde normalmente no tienes acceso de escritura; ídem en espadas para el 'cp'. Esto podría ser adecuado como respuesta a la pregunta relacionada http://stackoverflow.com/questions/193077/standalone-python-applications-in-linux though. – tripleee

0

Si uno quiere hacer ejecutable hello.py

en primer lugar encontrar la ruta donde pitón está en su sistema operativo con: which python

por lo general reside en la carpeta "/ usr/bin/python".

en la primera línea de hello.py habría que añadir: #!/usr/bin/python

luego a través de comandos de Linux chmode

uno debe simplemente hacerlo ejecutable como: chmode +x hello.py

Cuestiones relacionadas