2010-01-07 5 views
3

J'essaie de regrouper certaines dépendances d'oeuf lors de l'utilisation de py2exe et comme indiqué sur le site py2exe, cela ne fonctionne pas avec ceux-ci et je dois d'abord les décompresser. J'ai essayé d'exécuter d'abord easy_install -m lxml puis easy_install --always-unzip lxml==2.2.2, mais cela n'a pas fonctionné. Ensuite, j'ai essayé de définir le comportement de décompression par défaut en le mettant à distutils.cfg. Je ne trouve pas le dernier fichier, donc je l'ai fait la variable d'environnement HOME et créé un fichier pydistutils.cfg là avec ce contenu:Comment décompresser les œufs de python?

[easy_install] 
zip_ok = 0 

mais easy_install ne fonctionne toujours pas déballer les œufs. Quelle est la manière la plus simple de faire avancer les choses?

+0

Il n'y a aucune raison pour que l'option de décompression ne fonctionne pas, à moins que vous ne l'ayez mal tapé. Essayez à la place avec la version '-Z' de cette option ... et êtes-vous sûr qu'elle n'a pas vraiment été décompressée correctement? Vérifiez easy-install.pth pour voir quelle entrée est réellement là. Le fichier d'oeufs lxml est marqué comme "non-zip-sûr" donc il ne peut pas être installé comme un œuf de toute façon. –

Répondre

2

Rapide hack/solution de contournement: les fichiers d'œufs ne sont que des fichiers zip, vous pouvez donc utiliser le module zipfile python pour les décompresser. Peut-être vous pouvez renommer le fichier easy_install à « easy_install_pre.exe », et créer un nouveau fichier .bat nommé « easy_install.bat »:

easy_install_pre.exe %1 
unzip_eggs.py %1 
+0

Etes-vous sûr qu'ils continueront à fonctionner correctement après de telles manipulations? – Fluffy

+1

J'ai ouvert les oeufs avant et les ai utilisés sans problèmes dans le but de py2exe. Dans ces cas, j'ai renommé le fichier décompressé au nom du paquet et l'ai déposé dans mon répertoire source. Cela dit, j'utilise maintenant la distribution et je dézippe mes fichiers oeuf dans les répertoires .egg par défaut. –

0

Le fichier de package zippped doit être d'abord retiré avant de réinstaller. Alors c'est facile.

Toutes les méthodes d'installation décompressée décrites dans la question devraient fonctionner si le paquet compressé est retiré en premier mais ne fonctionne pas sans lui. La réinstallation du paquet compressé après l'installation décompressée est au contraire possible par une mise à niveau normale sans avoir besoin de retirer quoi que ce soit. C'était typique pour certaines vieilles versions d'easy_install liées à la période de Python 2.5.

Questions connexes