2013-08-04 2 views
11

Je reçois satchmo pour essayer, mais j'ai un gros problème au premier essai, et je ne comprends pas ce qui ne va pas. Quand je fait $ python clonesatchmo.py dans le projet de django clair, il trows une erreur:Satchmo clonesatchmo.py ImportError: impossible d'importer le nom execute_manager

$ python clonesatchmo.py 
Creating the Satchmo Application 
Customizing the files 
Performing initial data synching 
Traceback (most recent call last): 
    File "manage.py", line 18, in <module> 
    from django.core.management import execute_manager 
ImportError: cannot import name execute_manager 
Traceback (most recent call last): 
File "manage.py", line 18, in <module> 
    from django.core.management import execute_manager 
ImportError: cannot import name execute_manager 
Error: Can not copy the static files. 
Error: Can not syncdb. 

et crée un dossier de stockage. smth essayer comme ça fonctionne !!:

$ python manage.py shell 
>>> import os, sys 
>>> print sys.executable 
/some/path/to/python 
>>> os.system('bash') 
$ /some/path/to/python manage.py validate 
# this is NOT fail on "from django.core.management import execute_manager" 

J'ai Django 1.6 et 0.9.3 Satchmo, python 2.7.5 (je n'utilise virtualenv)

+0

"(Je n'utilise pas virtualenv)" orly? '//some/path/to/python' en a vraiment l'air. – AdamKG

+0

@AdamKG Mais c'est un chemin standard ... il était conseillé aux groupes google de faire cette action .. le "/ some/chemin/vers/python" est: '/Bibliothèque/Frameworks/Python.framework/Versions/2.7/ Ressources/Python.app/Contents/MacOS/Python' – Pruntoff

Répondre

11

execute_manager a été mis sur le chemin de deprecation dans le cadre de la mise en page du projet dans Django 1.4 https://docs.djangoproject.com/en/1.4/releases/1.4/#django-core-management-execute-manager. Par la politique d'obsolescence, cela signifie que le code execute_manager a été complètement supprimé en 1.6. Si vous voyez cette erreur d'importation alors la version de Satchmo que vous utilisez n'a pas été mise à jour pour être compatible avec Django 1.6.

+1

Merci beaucoup! Mais comment puis-je localiser où le remplacer? Je remplace toutes les importations dans 'manage.py' mais il semble que je manque smth ... – Pruntoff

+0

Même si vous corrigez cette importation, je ne pense pas que vous serez en mesure de faire fonctionner cela. Satchmo ne prétend pas supporter Django 1.5 beaucoup moins 1.6 qui est actuellement en beta. –

65

Remplacez le contenu de manage.py par ce qui suit (à partir d'un nouveau projet django 1.6).

#!/usr/bin/env python 
import os 
import sys 

if __name__ == "__main__": 
    os.environ.setdefault("DJANGO_SETTINGS_MODULE", "<app>.settings") 

    from django.core.management import execute_from_command_line 

    execute_from_command_line(sys.argv) 
+7

Imo, cela devrait être la réponse acceptée. – swdev

+0

cela a fonctionné pour moi aussi! –

+1

cela m'a aidé à comprendre comment utiliser les exemples de Google pour utiliser leur API de django http://code.google.com/p/google-api-python-client/source/browse/#hg%2Fsamples%2Fdjango_sample – Michael

Questions connexes