2013-08-04 15 views
11

मुझे कोशिश करने के लिए सैचमो मिल गया है, लेकिन मुझे पहले कोशिश करने में एक बड़ी समस्या है, और मुझे समझ में नहीं आता कि क्या गलत है। जब मैं स्पष्ट Django परियोजना में $ python clonesatchmo.py बनाने, यह एक त्रुटि trows:Satchmo clonesatchmo.py आयात त्रुटि: नाम 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. 

और एक दुकान फ़ोल्डर बनाता है। इस तरह की कोशिश कर रहा ख़ाली !! काम कर रहा है:

$ 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" 

मैं Django 1.6 और Satchmo 0.9.3, अजगर है 2.7.5 (मैं का उपयोग नहीं करते virtualenv)

+0

"(मैं वर्चुअलएनवी का उपयोग नहीं करता)" ऑर्ली? '/ कुछ/पथ/से/पायथन 'निश्चित रूप से एक जैसा दिखता है। – AdamKG

+0

@AdamKG लेकिन यह स्टैंडअर्ट पथ है ... यह कार्रवाई करने के लिए Google समूहों में सलाह दी गई थी .. "/ कुछ/पथ/से/पायथन" है: '/Library/Frameworks/Python.framework/Versions/2.7/ संसाधन/पायथन.एप/सामग्री/मैकोज़/पायथन ' – Pruntoff

उत्तर

11

execute_manager प्रतिवाद रास्ते पर डाल दिया गया था Django 1.4 https://docs.djangoproject.com/en/1.4/releases/1.4/#django-core-management-execute-manager में प्रोजेक्ट लेआउट रिफैक्टर के हिस्से के रूप में। बहिष्करण नीति के अनुसार इसका मतलब है कि execute_manager के लिए कोड 1.6 में पूरी तरह से हटा दिया गया है। यदि आप इस आयात त्रुटि को देख रहे हैं तो आप जिस सैचमो का उपयोग कर रहे हैं उसका संस्करण Django 1.6 के साथ संगत होने के लिए अद्यतन नहीं किया गया है।

+1

बहुत बहुत धन्यवाद !! लेकिन मैं इसे कैसे स्थानांतरित कर सकता हूं इसका पता लगा सकता हूं? मैं 'import.py के सभी आयातों को प्रतिस्थापित करता हूं लेकिन ऐसा लगता है कि मुझे smth याद आती है ... – Pruntoff

+0

भले ही आप इस आयात को ठीक करते हैं, मुझे नहीं लगता कि आप यह काम करने में सक्षम होंगे। सैचमो ने डीजेगो 1.5 को कम 1.6 का समर्थन करने का दावा नहीं किया है जो वर्तमान में बीटा में है। –

65

निम्न के साथ manage.py की सामग्री को बदलें (एक नई 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

इमो, यह स्वीकार्य उत्तर होना चाहिए। – swdev

+0

यह मेरे लिए भी काम करता है !! –

+1

इससे मुझे यह पता लगाने में मदद मिली कि कैसे django http://code.google.com/p/google-api-python-client/source/browse/#hg%2Fsamples%2Fdjango_sample – Michael

संबंधित मुद्दे