【问题标题】:python manage.py run server return ImportErrorpython manage.py 运行服务器返回 ImportError
【发布时间】:2014-05-17 02:58:58
【问题描述】:
Traceback (most recent call last):
  File "manage.py", line 2, in <module>
    from django.core.management import execute_manager
ImportError: cannot import name execute_manager

我从github下载了一个django博客项目,想看看能不能用,然后就搞定了,这是什么意思?

我检查了manage.py,这里是代码:

#!/usr/bin/env python
from django.core.management import execute_manager
import imp
try:
    imp.find_module('settings') # Assumed to be in the same directory.
except ImportError:
    import sys
    sys.stderr.write("Error: Can't find the file 'settings.py' in the directory containing %r. It appears you've customized things.\nYou'll have to run django-admin.py, passing it your settings module.\n" % __file__)
    sys.exit(1)

import settings

if __name__ == "__main__":
    execute_manager(settings)

与默认值有所不同。那么如果我没有足够的权限来导入可能不存在的execute_manager?

我该怎么办?

【问题讨论】:

    标签: python django django-manage.py


    【解决方案1】:

    听起来您正在使用 Django 1.6 或更高版本,其中 execute_manager()deprecatedremoved

    setup_environ() 和 execute_manager() 函数将被移除 来自 django.core.management。这也意味着旧的(pre-1.4) manage.py 文件的样式将不再起作用。

    您使用的这个 django 博客项目可能没有得到积极维护,不支持 1.6。

    改用execute_from_command_line()

    from django.core.management import execute_from_command_line
    
    execute_from_command_line(sys.argv)
    

    另见manage.py template 来自 django 源代码的 Django 1.6。

    【讨论】:

      猜你喜欢
      • 2011-08-11
      • 1970-01-01
      • 2016-04-14
      • 2016-05-16
      • 2019-02-04
      • 2020-07-04
      相关资源
      最近更新 更多