Невозможно импортировать уценку из-за COMMAND_LINE_LOGGING_LEVEL - PullRequest
3 голосов
/ 24 ноября 2010

У меня странная ошибка, когда я могу импортировать уценку в Python, и я могу импортировать уценку в Python внутри сервера запуска Django, но я получаю следующее при попытке импортировать уценку внутри сервера приложений Gunicorn.

* ImportError: невозможно импортировать имя COMMAND_LINE_LOGGING_LEVEL

Это еще более запутанно, потому что я нашел единственное место, где COMMAND_LINE_LOGGING_LEVEL ссылается на разметку (или любой код, который я использую)- одна строка, определяющая его, в уценке init .py, и я закомментировал это.Я все еще получаю эту ошибку.

Есть идеи?

Ответы [ 2 ]

2 голосов
/ 28 января 2011

Я исправил эту ошибку, удалив расширение .py из markdown.py в любом каталоге / bin.Это, очевидно, помешало ему импортировать себя вместо модуля уценки в пакетах сайта.

2 голосов
/ 25 ноября 2010

Gunicorn, по причинам, которые я еще не понимаю, добавляет каталог virtualenv / bin в sys.path. Markdown устанавливает markdown.py в этот каталог bin. Этот markdown.py пытается импортировать COMMAND_LINE_LOGGING_LEVEL из уценки библиотеки. Это приводит к циклическому отказу.

Я не знаю, почему Gunicorn делает это, и, вероятно, не должно. Мое удобное исправление состоит в том, чтобы добавить следующее к local_settings.py сервера

import sys
for i, path in enumerate(sys.path):
    if path.endswith('bin'):
        del sys.path[i]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...