2017-03-21 1 views
0

내가 정리하고 싶은 inflated requirements.tx가있는 저장소가 있습니다. pipreqs 사용 내 리포지토리에 필요한 최소한의 패키지 집합으로 requirements.txt를 설정했습니다. 이를 테스트하기 위해 가상 설치 프로그램을 설치하여 패키지를 설치 한 다음 모든 단위 테스트를 실행하여 만족 스러운지 확인합니다.pip가 requirements.txt에 추가 패키지를 설치하는 이유는 무엇입니까?

virtualenv temp_venv --no-site-packages 
source temp_venv/bin/activate 
pip install -r requirements.txt 

잘 돌아가지만, 추가 패키지가 한꺼번에 수집되어 설치되는 것을 볼 수 있습니다. 왜? 이것들은 필수 패키지에 의해 필요한 것으로 식별되어 설치됩니까? 그렇다면 requirements.txt에 포함시켜야합니까?

+0

추가 패키지가 정말로 의존성이 있는지 확인하려면 virtualenv에서'pip freeze -l> requirements.txt' 명령을 실행 해보십시오 ('-l' 플래그가 주목됩니다). 현재의 virtualenv. 동일한 출력을 생성하는 경우 종속성이며, 그렇지 않은 경우 pip는 현재 작업중인 virtualenv의 패키지뿐만 아니라 모든 패키지를 수집합니다. – NonameSL

답변

2

예. 패키지는 종속성의 종속성입니다.

아니요. 직접 지정할 수 없습니다. 자동 도구는 종속성을 재귀 적으로 다운로드하는 것을 알고 있으며 유지 관리 오버 헤드를 크게 증가시킵니다.

1

이것은 작성한 라이브러리의 종속성이 requirements.txt에 있었기 때문일 수 있습니다. 예 : scipynumpy에 종속되어 있기 때문에 numpy으로 작성한 경우 scipy도 설치됩니다.

관련 문제