2009-12-03 3 views
7

내 프로젝트에 디렉토리에 미리 다운로드해야하는 모든 달걀이 있는데, setuptools를 에만 디렉토리에서 패키지를 설치하고 싶습니다. 내 setup.cfg에서'setup.py test'egg install location?

나는이 :

[easy_install] 
allow_hosts = None 
find_links = ../../setup 

나는 python setup.py develop을 실행하고 그것을 발견하고 정확하게 모든 패키지를 설치합니다.

테스트를 위해 setup.py에 지정된 추가 요구 사항이 있습니다.

tests_require=["pinocchio==0.2"], 

이 계란은 또한 ../../setup 디렉토리에 로컬로 존재한다.

나는 python setup.py test을 실행하며 종속성을 확인하고 ../../setup의 알을 찾습니다. 그러나 난은 나머지 site-packages 디렉토리 대신 현재 디렉토리의 디렉토리에 설치됩니다.

install-dir을 모두 setup.cfg과 명령 줄에 지정하려고 시도했지만 어느 것도 어느 ​​쪽도 tests 명령에 대해 작동하지 않는 것으로 보입니다.

나는 단지 install_requires 섹션에 종속성을 추가 할 수 있지만 가능하면 설치 및 테스트에 필요한 것을 유지하고 싶습니다.

tests_require 섹션에 종속성을 유지하려면 어떻게합니까? site-packages 디렉토리에 설치 했습니까?

답변

3

소스 코드 (setuptools/command/tests.py) 만 보면 setup.py test가 설계 상 아무 것도 설치하지 않아야하는 것처럼 보이지 않습니다 (테스트 중이므로 왜 사이트에 아무것도 넣지 않습니다) 패키지?). 달걀을 얻기 위해 fetch_build_egg (setuptools/dist.py)를 사용하는데 실제로 달걀은 easy_install입니다. 나는 네가 원하는 것을 스스로 할 수는 없다고 생각한다.

메모/아이디어 : setuptools에 대한 경험으로는 버그가 있으며 문서화되지 않은 동작이 있습니다. (내가 발견 한 한 가지 특히 불쾌한 여행은 distutils가있을 때 softlinked 디렉토리에 들어 가지 않을 것이라는 것이 었습니다.)

A) 이렇게하지 않는 것이 좋습니다. :), B) easy_install 패키지를 호출하여 수동으로 파일을 설치합니다. 또는 C) setuptools 시스템을 조사하고 아마도 자신의 명령을 추가하십시오. 그것은 이해하기가 너무 어렵지 않으며 미래의 setuptools hick-ups를 얻는다면 그것이 도움이 될 것임을 알 것입니다.

+0

답장을 보내 주셔서 감사합니다. 나는 setuptools와의 싸움을 귀찮게하지 않을 것이고, 당신이 추천 한대로 A) 나 B)를 할 것입니다. – amrox