2014-05-17 4 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 

J'ai téléchargé un projet de blog django de github et je veux voir si le travail, alors j'ai eu ceci, qu'est-ce que cela signifie?python manage.py exécuter le serveur return ImportError

J'ai vérifié la manage.py, voici le code:

#!/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) 

une sorte de différence par rapport à défaut. Donc, si je n'ai pas assez d'autorité pour importer execute_manager qui n'existe peut-être pas?

que devrais-je faire?

Répondre

2

On dirait que vous utilisez Django 1.6 ou plus récent où execute_manager() était deprecated et removed:

Les fonctions setup_environ() et execute_manager() seront supprimés de django.core.management. Cela signifie également que l'ancien style (pré-1.4) du fichier manage.py ne fonctionnera plus.

Ce projet de blog django que vous utilisez n'est probablement pas maintenu activement et ne supporte pas 1.6.

Utilisation execute_from_command_line() à la place:

from django.core.management import execute_from_command_line 

execute_from_command_line(sys.argv) 

Voir aussi ce manage.py template pour Django 1.6 à partir des sources de django.

Questions connexes