2014-05-17 66 views
3
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博客项目,我想看看是否能够工作,那么我明白了,这是什么意思?python manage.py运行服务器返回ImportError

我已经检查了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?

我该怎么办?

回答

2

听起来你正在使用Django 1.6或更高版本,其中execute_manager()deprecated是和removed

功能setup_environ()和execute_manager()将被删除从django.core.management 。这也意味着manage.py文件的旧式(1.4之前版本) 样式将不再起作用。

您正在使用的这个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的1.6从Django的来源。