2013-11-08 4 views
2

OSX, Python 2.7, pip, virtualenv. Они использовали их в течение многих лет без каких-либо проблем.Django: ошибка с протоколирующим модулем при запуске любой команды manage.py

Я не уверен, что изменилось, но в последнее время мое окружение полностью сломалось для Django после того, как работала отлично. Такая же проверка отлично работает на компьютере моего друга с аналогичной настройкой.

Вещи, которые я уже пробовал: удалили мой venv и создали новый со свежими установками из требования. Txt, удалив ведение журнала за пределами venv и переустановку внутри, переустановку pip.

Я получаю такую ​​же трассировку для любой команды manage.py. По-видимому, возникли проблемы с модулем регистрации:

Traceback (most recent call last): 
    File "manage.py", line 10, in <module> 
    execute_from_command_line(sys.argv) 
    File "/Users/rfong/Dropbox/code/lattis_workspace/lattis_repo/venv/lib/python2. 7/site-packages/django/core/management/__init__.py", line 453, in  execute_from_command_line 
    utility.execute() 
    File "/Users/rfong/Dropbox/code/lattis_workspace/lattis_repo/venv/lib/python2. 7/site-packages/django/core/management/__init__.py", line 376, in execute 
    sys.stdout.write(self.main_help_text() + '\n') 
    File "/Users/rfong/Dropbox/code/lattis_workspace/lattis_repo/venv/lib/python2. 7/site-packages/django/core/management/__init__.py", line 242, in main_help_text 
    for name, app in six.iteritems(get_commands()): 
    File "/Users/rfong/Dropbox/code/lattis_workspace/lattis_repo/venv/lib/python2. 7/site-packages/django/core/management/__init__.py", line 109, in get_commands 
    apps = settings.INSTALLED_APPS 
    File "/Users/rfong/Dropbox/code/lattis_workspace/lattis_repo/venv/lib/python2. 7/site-packages/django/conf/__init__.py", line 52, in __getattr__ 
    self._setup(name) 
    File "/Users/rfong/Dropbox/code/lattis_workspace/lattis_repo/venv/lib/python2. 7/site-packages/django/conf/__init__.py", line 48, in _setup 
    self._configure_logging() 
    File "/Users/rfong/Dropbox/code/lattis_workspace/lattis_repo/venv/lib/python2. 7/site-packages/django/conf/__init__.py", line 75, in _configure_logging 
    logging_config_func(DEFAULT_LOGGING) 
    File "/Users/rfong/Dropbox/code/lattis_workspace/lattis_repo/venv/lib/python2. 7/site-packages/django/utils/dictconfig.py", line 555, in dictConfig 
    dictConfigClass(config).configure() 
    File "/Users/rfong/Dropbox/code/lattis_workspace/lattis_repo/venv/lib/python2. 7/site-packages/django/utils/dictconfig.py", line 323, in configure 
    del logging._handlerList[:] 
AttributeError: 'module' object has no attribute '_handlerList' 
+0

вы можете попробовать проверить значение 'logging .__ file__' непосредственно перед возникновением ошибки, чтобы узнать, какой модуль протоколирования используется. у вас нет файла logging.py где-то на вашем pythonpath? – latheiere

+1

Ах, забыл упомянуть журнал .__ file__ = /Library/Python/2.7/site-packages/logging-0.4.9.6-py2.7.egg/logging/__init__.pyc – rfong

ответ

5

кажется, что вы установили устаревшие 0.4.9.6 версию модуля регистрации, предположительно с pip. Правильная версия, поставляемая с python 2.7, - 0.5.1.2, и я полагаю, что в вашем случае может быть /Library/Python/2.7/lib/logging. Корректную версию можно загрузить с python svn.

Если вы используете пип, вы всегда можете узнать, какие версии модуля установлены с

$ pip freeze 

, чтобы обеспечить правильные версии пакетов установлены, используйте следующий синтаксис:

$ pip install <package>==<version> 

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

+0

Мне не удалось найти 0.5.1.2 в 2.7 libs или pypi. Есть ли способ переустановить python? – rfong

+0

http://svn.python.org/projects/python/trunk/Lib/logging/ – latheiere

+0

Упс, вы не видите свою ссылку. Спасибо за подсказку, он работает, когда я помещаю эту версию регистрации в мои сайты-сайты! Но я не уверен, как _properly_ установить его, поскольку ему не хватает setup.py. Какая там процедура? – rfong

Смежные вопросы