Синхронизация джанго-поршневых моделей при использовании яичного модуля - PullRequest
3 голосов
/ 20 апреля 2011

Я использую django-piston и сталкиваюсь со следующей проблемой при запуске команды manage.py syncdb:

Traceback (most recent call last):
  File "./manage.py", line 13, in <module>
    execute_manager(settings)
  File "/home/appfirst/django/django/core/management/__init__.py", line 438, in execute_manager
    utility.execute()
............ lines ommitted ...........
  File "/home/appfirst/django/django/utils/translation/trans_real.py", line 176, in translation
    default_translation = _fetch(settings.LANGUAGE_CODE)
  File "/home/appfirst/django/django/utils/translation/trans_real.py", line 160, in _fetch
    apppath = os.path.join(os.path.dirname(app.__file__), 'locale')
AttributeError: 'module' object has no attribute '__file__'

В моей среде разработки у меня нет этой проблемы. Там у меня есть путь к Python, включающий каталог django-pneon. На производстве я установил поршень, скомпилировав его в об / мин (python setup.py bdist --format=rpm) и установив его как яйцо в /usr/lib/python2.6/site-packages/. Это означает, что в разработке я могу сделать

>>> import piston
>>> piston.__file__
/some/file/path/here

Но на производстве я получаю

>>> import piston
>>> piston.__file__
AttributeError: 'module' object has no attribute '__file__'

Кто-нибудь знает способ обойти это?

Ответы [ 2 ]

8 голосов
/ 27 ноября 2011

Похоже, это известная проблема с поршнем 0.2.3. Вы можете применить этот патч или просто использовать версию 0.2.2, установив его так:

pip install django-piston==0.2.2
1 голос
/ 22 апреля 2011

У меня была та же проблема, не знаю, что ее вызвало, но чтобы исправить ее, я раскомментировал приложение поршня из моего INSTALLED_APPS в настройках, и оно снова начало работать, так что это было как-то связано с загрузкой поршня. Я собираюсь удалить поршень из моего каталога site-packages и попытаться перезагрузить его и посмотреть, поможет ли это.

Также, пытаясь найти ответ на мой вопрос, я наткнулся на несколько сайтов с похожими проблемами.

На этом сайте описана проблема, связанная с отсутствием __init__.py.

http://www.willmer.com/kb/2007/12/attributeerror-module-object-has-no-attribute-blah/

Этот сайт описывает круговой импорт как проблему.

http://www.answermysearches.com/python-fixing-module-object-has-no-attribute/333/

И еще один, который я не могу найти, упоминал что-то о невозможности правильно загрузить файлы из приложения, установленного как яйцо.

...