2012-01-05 3 views
1

나는 virtualenv의 생성을 자동화하고 요구 사항 파일에서 모듈을 pip (그리고 그것의 -r 옵션)을 통해 설치하려고합니다.핍 (pip)을 통해 설치 한 후 필수 모듈 가져 오기를 테스트하려면 어떻게해야합니까?

일부 모듈은 성공적으로 설치되지만 환경에서 가져 오기 오류가 있음을 발견했습니다.

requirements.txt에 나열된 모듈을 모두 가져 오는 방법을 테스트하려면 어떻게해야합니까?

+0

빠르고 & 더러운 방법은'python -m module'이고 반환 값을 확인하는 것입니다.하지만 당연히 문제의 모듈이 비 대화식으로 실행할 수 있어야합니다. (또한 * script * 자체가 리턴합니다 0) –

답변

1

requirements.txt은 모듈 (가져 오기 네임 스페이스)을 나열하지 않으며 "배포판"(PyPI 네임 스페이스)을 나열합니다. 즉, 모든 모듈을 나열 pkg_resources를 사용하여 가져 오기 시도 할 수 말했다

import pkg_resources, setuptools 

for dist in pkg_resources.working_set: 
    for pkg in setuptools.find_packages(dist.location): 
     __import__(pkg) 

는 아직 모듈 "패키지"(의 distutils 용어)에서 갈 수있는 방법이 필요합니다.

+0

그래, 그게 내 질문의 일부라고 생각해. pkg_resources를 살펴볼 것입니다. –

0

왜 :

$ python -c "import os" 

그리고 종료 상태 ($?)를 확인?

+0

글쎄, 내가 수동으로 모듈을 가져올 테스트 할 수 있지만 요점은 다른 요구 사항을 가진 다른 virtualenvs를 구축하고 그 virtualenv에 필요한 모듈을 테스트하고 싶습니다. pkg_resources를 사용하여 모듈 정보를 얻은 다음 가져 오기를 테스트해야합니다. –