2009-04-25 10 views
3

J'utilise Python comme langage de script plug-in pour une application C++ existante. Je suis capable d'intégrer l'interpréteur python comme indiqué dans la documentation Python. Tout fonctionne correctement avec l'initialisation et la dés-initialisation de l'interpréteur. J'ai cependant du mal à charger les modules car je n'ai pas réussi à compresser la bibliothèque standard dans un fichier zip (normalement PythonXX.zip, correspondant au numéro de version de la DLL python).Quel est le moyen le plus simple de construire Python26.zip pour la distribution intégrée?

Quelle est la manière la plus simple de compresser toute la bibliothèque standard après la compilation de bytecode optimisée? Je cherche un script simple ou une commande pour le faire pour moi, car je ne veux vraiment pas le faire à la main.

Des idées?

Merci!

+1

Avez-vous trouvé la réponse? Sera génial si vous pouviez le poster ici. – sambha

Répondre

2

Il ne devrait pas être trop difficile d'écrire un script pour cela. Découvrez la classe zipfile.PyZipFile et sa méthode writepy.

2

J'utiliserais probablement setuptools pour créer un oeuf (essentiellement un java jar pour python). Le setup.py chercherais probablement quelque chose comme ceci:

from setuptools import setup, find_packages 

setup(
    name='python26_stdlib', 
    package_dir = {'' : '/path/to/python/lib/directory'}, 
    packages = find_packages(), 
    #any other metadata 
) 

Vous pouvez exécuter cela en utilisant python setup.py bdist_egg. Une fois que vous avez l'oeuf, vous pouvez l'ajouter au chemin python ou vous pouvez l'installer en utilisant setuptools. Je crois que cela devrait également gérer la génération de pycs pour vous aussi.

NOTE: Je ne l'utiliserais pas sur mon répertoire système python. Vous voudrez peut-être configurer un virtualenv pour cela.