2010-09-17 9 views
5

Nous utilisons trac. Dans notre configuration, nous avons un problème qui est résolu dans le référentiel. J'ai donc obtenu le fichier fixed commit_update.py du dépôt et j'ai besoin de le placer dans Trac-0.12-py2.6.egg.Comment mettre à jour un fichier en oeuf python

Comme l'oeuf est juste une fermeture à glissière je l'ai juste décompressé, changé le fichier et compressé à nouveau. Après avoir redémarré trac, j'ai un message d'erreur:

ExtractionError: Can't extract file(s) to egg cache 

The following error occurred while trying to extract file(s) to the Python egg 
cache: 

    [Errno 20] Not a directory 

The Python egg cache directory is currently set to: 

    /var/trac/plugin-cache 

Perhaps your account does not have write access to this directory? You can 
change the cache directory by setting the PYTHON_EGG_CACHE environment 
variable to point to an accessible directory. 

Je ne comprends pas pourquoi je suis arrivé cette erreur, parce que je suis en instance de trac sous www-data et il est le propriétaire du plugin-cache.

Apprécierez toutes les idées.

Répondre

5

Construisez simplement un nouvel œuf (avec python setup.py bdist_egg), réinstallez l'œuf et redémarrez votre instance trac.

+0

$ python setup.py bdist-egg python: impossible d'ouvrir le fichier 'setup.py': [Errno 2] Aucun fichier ou répertoire de ce type – bessarabov

+0

Je n'ai qu'un fichier oeuf, comment puis-je le reconstruire? – bessarabov

+1

Où avez-vous eu l'œuf? Avez-vous installé trac avec setuptools (par exemple "easy_install trac")? Si oui: essayez de réinstaller avec 'easy_install -m trac', puis supprimez le fichier egg, puis' easy_install -Z trac', qui ne s'installe pas comme un oeuf zippé, mais comme un répertoire. Ensuite, vous pouvez modifier la source. – knitti

3

Je décompressez simplement le fichier d'oeuf en utilisant

sudo unzip django_tastypie-0.9.11-py2.7.egg 

Cela a créé un nouveau dossier dans la même chemin appelé tastypie, puis, je l'ai changé les fichiers dedans, et après cela, je l'ai enlevé le fichier d'œufs et continuer à utiliser seulement le nouveau dossier.

+0

Hm ... Je n'aime pas l'idée de laisser les choses différemment à la façon dont vous les trouvez. J'utilise ceci pour éditer les fichiers, puis créer un nouveau '.egg' [en exécutant' setup.py' à nouveau] (http://peak.telecommunity.com/DevCenter/PythonEggs#building-eggs) –

Questions connexes