Pour le #4, la chose la plus proche à partir de java avec un fichier jar pour votre application est une nouvelle fonctionnalité dans la version 2.6 de Python, exécutable zip des fichiers et des répertoires.
python myapp.zip
Où myapp.zip est un zip contenant un __main__.py
le fichier exécuté en tant que fichier de script à exécuter. Votre paquet de dépendances peuvent également être inclus dans le fichier:
__main__.py
mypackage/__init__.py
mypackage/someliblibfile.py
Vous pouvez également exécuter un œuf, mais l'incantation n'est pas aussi beau:
# Bourn Shell and derivatives (Linux/OSX/Unix)
PYTHONPATH=myapp.egg python -m myapp
rem Windows
set PYTHONPATH=myapp.egg
python -m myapp
Cela met le myapp.oeuf sur le Python path et utilise l'argument-m pour exécuter un module. Votre myapp.l'oeuf sera probablement ressembler à quelque chose comme:
myapp/__init__.py
myapp/somelibfile.py
Et python sera exécuté __init__.py
(vous devez vérifier que __file__=='__main__'
dans votre application en ligne de commande utilisation).
Oeuf fichiers sont simplement des fichiers zip de sorte que vous pourriez être en mesure d'ajouter __main__.py
de votre oeuf avec un zip outil et le rendre exécutable python 2.6 et lancez - python myapp.egg
au lieu de le au-dessus de l'incantation où la variable d'environnement PYTHONPATH est réglé.
Plus d'informations sur l'exécutable des fichiers zip, y compris comment les faire directement exécutable avec un shebang peut être trouvé sur Michael Foord blog post sur le sujet.