2013-08-04 7 views
11

시도해 볼 때 satchmo가 표시되지만 처음에는 큰 문제가 있습니다. 무엇이 잘못 됐는지 이해하지 못합니다. 나는 분명 장고 프로젝트에 $ python clonesatchmo.py을, 에러 trows :Satchmo clonesatchmo.py ImportError : 이름을 가져올 수 없습니다. 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" 

내가 장고 1.6 츠모 (Satchmo) 0.9.3, 파이썬이 2.7.5

+0

"나는 virtualenv를 사용하지 않습니다."orly? '/ some/path/to/python'은 확실히 하나처럼 보입니다. – AdamKG

+0

@AdamKG하지만 이것은 표준 경로입니다 ... Google 그룹에서이 작업을 수행하라는 조언을 받았습니다. "/ some/path/to/python"은 다음과 같습니다.'/Library/Frameworks/Python.framework/Versions/2.7/ Resources/Python.app/Contents/MacOS/Python' – Pruntoff

답변

11

execute_manager이 중단 경로에 넣어했다 (I는 VIRTUALENV를 사용하지 않음) 장고 1.4 https://docs.djangoproject.com/en/1.4/releases/1.4/#django-core-management-execute-manager에서 프로젝트 레이아웃 리팩터링의 일부로. Deprecation 정책에 따르면, execute_manager의 코드가 1.6에서 완전히 제거되었음을 의미합니다. 이 가져 오기 오류가 표시되면 사용중인 Satchmo의 버전이 Django 1.6과 호환되도록 업데이트되지 않았습니다.

+1

정말 고마워 !! 하지만 대체 할 위치를 어떻게 찾을 수 있습니까? 나는 'manage.py'에있는 모든 수입품을 대체하지만, 나는 돈을 잃어 버릴 것 같다. – Pruntoff

+0

이 수입품을 고치더라도 나는이 일을 할 수 없을 것이라고 생각한다. Satchmo는 현재 베타 버전 인 Django 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에서 api를 사용하는 Google의 예제를 사용하는 방법을 알아 내는데 도움이되었습니다. http://code.google.com/p/google-api-python-client/source/browse/#hg%2Fsamples%2Fdjango_sample – Michael