2014-12-21 3 views
0

피라미드 프레임 워크를 사용하여 일부 프로젝트를 만들지 만 각 프로젝트 내의 하위 모듈을 올바르게 가져 오지 못합니다. 예를 들어, 아래와 같은 프로젝트 구조를 주어진 : 내가하려고 할 때 그래서피라미드 방해하는 프로젝트 모듈 이름을 중지하는 방법

from project2.auth.models import auth 

도 작동하지 않는 프로젝트 2, 프로젝트 1에서

from auth.models import User 

이 수입 인증을하지 가져

project1\project1\... 
project1\auth\... 
project1\other_module\... 

project2\project2\... 
project2\auth\... 
project2\other_module\... 

, 모듈을 찾을 수 없습니다

프로젝트를 설치하려면이 실행

프로젝트 1 및 프로젝트 2는 파이썬 수입 경로에 있기 때문에
python setup.py develop 

편집

때문이다. 그래서 project2보다 먼저 project1을 찾습니다. 내 유일한 해결책은 각 프로젝트에 가상 환경을 사용하는 것이 었습니다. 질문은 여전히 ​​유효하지만, 내가 프로젝트 1에서이 작업을 수행 할 수 있어야하기 때문에, 다른 프로젝트에서 특히 가져올 원한다면

from project2.auth.models import auth 

답변

0

당신은 멈추지 않았다 두 프로젝트 사이에 서버를 시작한 적이처럼 소리, 당신이 project1에서 시작했다고 가정합니다.

python setup.py develop으로 프로젝트를 "시작"하지 마십시오. 이를 프로젝트 설치라고합니다.

cdproject2으로 시작한 다음 yourpath/to/virtual/environment/bin/pserve development.ini으로 피라미드 응용 프로그램을 실행하십시오.

+0

나는 dev 서버를 올바르게 시작했으며 모든 것은 가져 오기 경로와 관련이있다. – mobiletim

+0

OK. 또한 명확하게하기 위해 프로젝트를 설치할 때 virtualenv에 대한 경로를 항상 생략합니까? 나는 당신이 단지 속기를 사용하고 있다고 가정했으나 좀 더 명확히하기 위해'$ VENV/bin/python setup.py develop'을 사용해야한다. 여기서 $ VENV는 virtualenv의 경로로 설정된 환경 변수이다. [Python 가상 환경 만들기] (http://docs.pylonsproject.org/projects/pyramid/en/latest/narr/install.html#creating-the-virtual-python-environment)의 Pyramid 문서를 참조하십시오. –

관련 문제