python manage.py运行服务器返回ImportError

时间:2014-05-17 02:58:58

标签: python django django-manage.py

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?

我该怎么办?

1 个答案:

答案 0 :(得分:2)

听起来你正在使用Django 1.6或更新版execute_manager() deprecatedremoved

  

将删除函数setup_environ()和execute_manager()   来自django.core.management。这也意味着旧(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)

另请参阅django来源的Django 1.6 manage.py template