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?
我该怎么办?
答案 0 :(得分:2)
听起来你正在使用Django 1.6或更新版execute_manager()
deprecated和removed:
将删除函数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。