Para # 4, lo más cercano a partir de Java con un archivo JAR para su aplicación es una característica nueva en Python 2.6, executable zip files and directories.
python myapp.zip
Dónde myapp.zip es un comprimido que contiene un archivo __main__.py
que se ejecuta como el archivo de secuencia de comandos para ser ejecutada. Sus dependencias de los paquetes también se pueden incluir en el archivo:
__main__.py
mypackage/__init__.py
mypackage/someliblibfile.py
También puede ejecutar un huevo, pero el encantamiento no es tan bonito:
# Bourn Shell and derivatives (Linux/OSX/Unix)
PYTHONPATH=myapp.egg python -m myapp
rem Windows
set PYTHONPATH=myapp.egg
python -m myapp
Esto pone el myapp.egg en la ruta Python y usa el argumento -m para ejecutar un módulo. Su myapp.egg probablemente será algo como:
myapp/__init__.py
myapp/somelibfile.py
y Python se ejecutará __init__.py
(usted debe comprobar que __file__=='__main__'
en su aplicación para el uso de línea de comandos).
archivos del huevo esté archivos zip por lo que podría ser capaz de añadir __main__.py
a su huevo con una herramienta de compresión y que sea ejecutable en Python 2.6 y ejecutarlo como python myapp.egg
en lugar del encantamiento por encima de donde se establece la variable de entorno PYTHONPATH.
Más información sobre archivos ejecutables zip que incluye cómo hacerlos directamente ejecutables con un shebang se puede encontrar en Michael Foord's blog post on the subject.
¿Qué debo usar en vez de huevos, entonces? Aquí está mi pregunta sobre los huevos http://stackoverflow.com/questions/14902732/what-is-pastedeploy-and-do-i-need-to-learn-it-if-eggs-in-python-are-considered-g – Green
@YauhenYakimovich: ese enlace ahora es un dominio de spam estacionado. Tal vez vale la pena editar para usar https://packaging.python.org/en/latest/wheel_egg/? –
@ChrisAdams thnx –