由于COMMAND_LINE_LOGGING_LEVEL,无法导入降价

时间:2010-11-24 19:48:25

标签: python django markdown

我有一个奇怪的错误,我可以在Python中导入markdown,我可以在Django runserver中的python中导入markdown,但是当我尝试在gunicorn的app服务器中导入markdown时我得到以下内容。

* ImportError:无法导入名称COMMAND_LINE_LOGGING_LEVEL

这更令人困惑,因为我找到唯一一个在markdown(或我正在使用的任何代码)中引用COMMAND_LINE_LOGGING_LEVEL的地方 - 在markdown init 中定义它的一行.py,我评论了一下。我仍然得到这个错误。

有什么想法吗?

2 个答案:

答案 0 :(得分:2)

Gunicorn,由于我还不了解的原因,将virtualenv / bin目录添加到sys.path中。 Markdown将markdown.py安装到该bin目录中。 markdown.py尝试从markdown库中导入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]

答案 1 :(得分:2)

我通过从/ bin中的markdown.py中删除.py扩展名来修复此错误。这显然阻止了它自己导入而不是站点包中的markdown模块。