2012-09-04 4 views
0

저는 파이썬을 처음 접했습니다. 현재 PyCharm을 시험 중이며 테스트를 실행할 때 설명 할 수없는 이상한 동작이 발생합니다.Nosetest 및 가져 오기

현재 작업중인 프로젝트는 PythonPlayground라는 폴더에 있습니다. 이 폴더에는 몇 개의 하위 디렉토리가 있습니다. 모든 폴더에는 .py 파일이 포함되어 있습니다. 일부 폴더에는 nosetest 테스트가 포함되어 있습니다.

프로젝트 디렉토리의 명령 줄에서 nosetest 러너와 테스트를 실행할 때 모든 로컬 가져 오기 앞에 "PythonPlayground"를 넣어야합니다. 예 : 폴더 "UI"에서 "모델"라는 모듈을 가져올 때 나는이처럼 가져올 수 있습니다

PythonPlayground.ui.model에서 가져 오기 *

하지만 내부에서 테스트를 실행할 때 Pycharm, 나는 선도 "PythonPlayground"를 다시 제거해야합니다. 그렇지 않으면 테스트가 작동하지 않습니다. 이처럼 : ui.model 수입에서

*

나는 또한 모의 프레임 워크를 시도하고, 어떤 이유로이 프레임 워크는 항상 ("PythonPlayground"포함) 모듈의 전체 이름이 필요합니다

. 모의로 패치 ('PythonPlayground.ui.models.User')와

:

누군가가 설명 할 수 나는 PyCharm 내부 명령 행 또는에서 테스트를 실행할 수 있는지 여부는 중요하지 않습니다 저와 행동의 차이점 은요? 그리고 올바른 행동은 무엇입니까?

답변

1

필자는 PyChang이 PythonPlayground 디렉토리를 한 레벨 아래로 설정 한 프로젝트 경로의 고유 한 버전을 가진 인터프리터의 "복사본"을 가지고 있기 때문에 발생한다고 생각합니다. 그리고 프로젝트의 PyCharm에서 인터프리터의 환경 설정을 찾아 적절한 최상위 레벨을 설정할 수 있습니다. ps. 나도 같은 문제가 있지만 Eclipse + pydev

+2

이것은 올바른 것으로 보인다 [this] (http://stackoverflow.com/questions/5794502/pycharm-and-pythonpath-issue-how-and-why-pycharm -alter-python-import-logic) 답변. – Bakuriu

+0

이것은 실제로 정확했습니다. 내 소스 파일을 "src"라는 디렉토리로 이동하고이 디렉토리를 프로젝트 설정의 소스 디렉토리로 표시하여 문제를 해결했습니다. :) – svb