получение приложений django, упакованных как яйца python, для работы с документами администратора django

я взял на себя проект django (1.1), в котором несколько приложений django установлены как яйца (в /usr/lib/python2.6/site-packages/). Это отлично работает везде, кроме документов администратора django. Попытка просмотреть документы для тегов или фильтров здесь приводит меня к следующему:

File "/usr/lib/python2.6/site-packages/Django-1.1.1-py2.6.egg/django/contrib/admindocs/views.py" in load_all_installed_template_libraries
313.         libraries = [os.path.splitext(p)[0] for p in os.listdir(e) if p.endswith('.py') and p[0].isalpha()]

Exception Type: OSError at /admin/doc/tags/
Exception Value: (20, 'Not a directory')

куда

e = '/usr/lib/python2.6/site-packages/django_tinymce-1.5-py2.6.egg/tinymce/templatetags'

так что в основном документы администратора django не могут автоматически загружать яйца, потому что они представляют собой zip-архивы, а не каталоги.

сделав некоторые поиски, я думаю, что мои варианты:

  1. распаковать яйца на место
  2. адаптировать http://docs.djangoproject.com/en/dev/howto/deployment/modpython/#using-eggs-with-mod-python (я использую mod_wsgi)
  3. взломать код admindocs django, чтобы правильно работать с яйцами

ни один из них, вероятно, не является действительно сложным, но ни один из них не является привлекательным на рабочем сервере. кто-нибудь еще имел дело с этим? чтобы вы посоветовали?


person scytale    schedule 22.12.2010    source источник
comment
хорошо, я понял, что задал неправильный вопрос... и что ответ был virtualenv - fwiw обновление django с 1.1.1 до 1.1.3, похоже, решило проблему с интерфейсом администратора (странно, поскольку я не думаю, что имею дело с с яйцами - это то, что упоминалось в любом из списков изменений), но реальным решением было использовать virtualenv и pip для наложения приложений с версиями, отличными от яйца (и для обеспечения обновления django без пота)   -  person scytale    schedule 08.01.2011


Ответы (1)


Вы действительно указали каталог, доступный для записи пользователем, в котором Apache запускает ваш код, для каталога кеша яйца.

http://code.google.com/p/modwsgi/wiki/ApplicationIssues#Access_Rights_Of_Apache_User

person Graham Dumpleton    schedule 22.12.2010
comment
не думаю, что это было проблемой, потому что apache не жаловался, просто django. - person scytale; 08.01.2011