35 votes

Comment exécuter directement les fichiers d'œufs Python sans les installer ?

Est-il possible d'exécuter des fichiers Python directement comme on peut exécuter des fichiers jar avec Java ?

Par exemple, avec Java, vous pourriez doser quelque chose comme :

$ java -jar jar-file

17voto

monkut Points 14549

A œuf en python est un "format de distribution importable à fichier unique". Qui est typiquement un paquetage python.

Vous pouvez importer le paquet dans l'œuf tant que vous connaissez son nom et qu'il se trouve dans votre chemin.

Vous pouvez exécuter un paquet en utilisant l'option "-m" et le nom du paquet.

Cependant, les paquets python ne font généralement rien lorsqu'ils sont exécutés, et vous risquez d'obtenir une erreur. L'option -c peut être utilisée pour exécuter du code. (Voir http://docs.python.org/using/cmdline.html pour plus de détails sur les options de la ligne de commande)

> python -m sphinx
sphinx is a package and cannot be directly executed

> python -c "import <package in an egg>; <function>();"

> python -c "import sphinx; print sphinx.package_dir"
C:\Python26\lib\site-packages\sphinx-0.6.1-py2.6.egg\sphinx

15voto

pjeby Points 3228

A partir de Python 2.6, vous pouvez utiliser python some.egg et il sera exécuté s'il inclut un module nommé __main__ .

Pour les versions antérieures de Python, vous pouvez utiliser PYTHONPATH=some.egg python -m some module y somemodule de l'œuf sera exécuté comme le module principal. (Note : si vous êtes sous Windows, vous devrez faire une commande séparée de SET PYTHONPATH=some.egg .)

5voto

Par exemple, si vous voulez importer le module suds qui est disponible sous forme de fichier .egg :

egg_path='/home/shahid/suds_2.4.egg'

sys.path.append(egg_path)

import suds
#... rest of code

1voto

Madhu Cheemala Points 11

Étapes d'exécution directe du fichier Python Egg

Supposons que vous ayez un fichier d'œuf et un fichier de pilote à exécuter par la commande ci-dessous.

PYTHONPATH=eggfilename.egg python driverfile.py

commande ci-dessus pour sans installer le fichier egg avec le code python.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X