2010-09-17 28 views
5

Używamy trac. W naszym setupie mamy problem, który został rozwiązany w repozytorium. Dostałem poprawiony plik commit_update.py z repozytorium i muszę go umieścić w Trac-0.12-py2.6.egg.Jak zaktualizować plik w Python Egg

Ponieważ jajko jest po prostu spakowanym plikiem, rozpakowałem je, zmieniłem plik i zapakowałem ponownie. Po ponownym uruchomieniu trac, mam komunikat o błędzie:

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. 

ja nie bardzo rozumiem, dlaczego mam tego błędu, bo biegnę instancji trac pod www-data i jest właścicielem konta cache wtyczki.

Doceni wszelkie pomysły.

Odpowiedz

5

Po prostu zbuduj nowe jajko (z python setup.py bdist_egg), zainstaluj ponownie jaja i uruchom ponownie instancję trac.

+0

$ python setup.py bdist-egg python: nie można otworzyć pliku "setup.py": [Errno 2] Brak takiego pliku lub katalogu – bessarabov

+0

Mam tylko plik jaj, jak mogę go odbudować? – bessarabov

+1

Skąd wziąłeś jajko? Czy zainstalowałeś trac z setuptools (np. "Easy_install trac")? Jeśli tak: spróbuj przeinstalować z 'easy_install -m trac', następnie skasuj plik jajka, następnie' easy_install -Z trac', który instaluje się nie jako spakowane jajko, ale jako katalog. Następnie możesz edytować źródło. – knitti

3

prostu rozpakuj plik jajko używając

sudo unzip django_tastypie-0.9.11-py2.7.egg 

To stworzyło nowy folder w tej samej ścieżce zwanej tastypie, potem zmieniłem pliki do niego, a potem usunąłem plik jajko i nadal używać tylko nowy folder.

+0

Hm ... Nie podoba mi się pomysł pozostawiania różnych rzeczy w tym, jak je znajdziesz. Używam tego do edycji plików, a następnie tworzenia nowego '.egg' [przez ponowne uruchomienie' setup.py'] (http://peak.telecommunity.com/DevCenter/PythonEggs#building-eggs) –