2010-08-05 3 views
0

최근 django 응용 프로그램을 c:\Users\user\django-projects\foo\foobar에서 c:\Python25\Lib\site-packages\foo\foobar (Python 경로에 있음)으로 옮겼습니다. django-projects 디렉토리에 새 앱을 시작했으며 INSTALLED_APPS 설정에 foo.foobar을 추가했습니다. 내 새 응용 프로그램에 dev 서버 (manage.py runserver)를 실행하려고하면 오류 ImportError: No module named foobar가 표시됩니다.django dev 서버 (manage.py runserver)는 어디에서 경로를 가져 옵니까?

추적을 살펴보면 foobar 앱의 경우 c:\Users\user\django-projects\foo\..\foo\foobar이 표시됩니다. 내 PATHPYTHONPATH 환경 변수를 확인하고 c:\Users\user\django-projects\foo을 가리 키지 않으며 파이썬 인터프리터를 실행할 때 sys.path에 나타나지 않습니다.

나는 어쨌든 foo의 개발을 따라 언젠가 django의 경로에 c:\Users\user\django-projects\foo을 추가했다고 추측하고 있지만 어떻게했는지 기억하지 못합니다.

그럼 모든 질문이 제기되면서 "내 질문은" 대신 c:\Python25\Lib\site-packages에서 manage.py 모양을 어떻게 만듭니 까? "입니다.

감사합니다,

  • Lexo
+0

'sys.path'를 편집하여 경로를 변경할 수 있습니다. 그러나'site-packages \ foo' 디렉토리에'__init __. py'가 누락되었다고 추측하고 있습니다. – Wolph

+0

'sys.path'는'manage.py'가 보이는 유일한 곳입니까? 만약 그렇다면, 어떻게 존재하지 않는'django-projects \ foo' 디렉토리를 찾고 있을까요? 또한,'site-packages \ foo'에'__init __. py' 파일을 가지고 있습니다. – Lexo

답변

1

manage.py 수입은 현재 디렉토리에서의 settings.py 및 execute_manager에 매개 변수로 settings를 전달합니다. 아마도 settings.py에서 프로젝트 루트를 정의했을 것입니다.

+0

고마워요. 나는'settings.py'를 확인했는데'django-projects'의 흔적은 전혀 없습니다. 나는 내가 미쳤다고 생각하기 시작했다. 나는 더 많은 테스트를하고 내가 생각해 낼 수있는 것을 보게 될 것이다. – Lexo

+0

당신은 관리되는 쉘 ('python manage.py shell')을 사용해 sys.path에 무엇이 있는지 확인하려고 시도 했습니까? '..../foo'가 첫 번째 것이어야합니다. 그냥 확인하는 것 ... 거기에없는 것처럼, 나는 정정하는 법을 모른다! 하지만 문제가 경로 문제가 아니라고 생각합니다. 아마 허가? '__init __. py'가 비어 있습니까? – laurent

+0

문제를 해결했지만 (아래 참조) 원래 질문에 대한 대답을 했으므로 질문을 올바른 것으로 표시했습니다. 당신의 도움을 주셔서 감사합니다! – Lexo

1

어느 솔루션이 효과가 있었는지 모르지만 해결했습니다. 먼저 내 프로젝트에서 .pyc 개의 파일을 삭제 한 다음 내 Windows 검색을 다시 색인화했습니다. 이로 인해 오류 메시지가 올바른 디렉토리로 변경되었습니다. 그 후, 나는 내가하는 모든 따라 문제를 일으키는 내 foobar/baz/models.py 파일에

from baz import settings 

을 깨달았다. 이 문제를 해결하여

import settings 

으로 변경했습니다. 로렐 덕분에 모든 도움을받을 수 있습니다 :-)

+0

예 .pyc 제거가 그랬다고 생각합니다. – laurent

관련 문제