Python의 pip를 사용하여 패키지 용 압축 파일을 다운로드하고 보관하는 방법은 무엇입니까?


104

내가 사용하려면 pip패키지 (및 종속)를 다운로드 할 수 있지만 명령을 계속 그렇게 할 수있는 방법이있다 - (예를 들어, 장고 - socialregistration.tar.gz)를 다운로드받을 압축 된 파일을 모두?

다양한 명령 줄 옵션을 시도했지만 항상 zip 파일의 압축을 풀고 삭제 하는 것처럼 보이거나 zip 파일을 가져 오지만 종속성이 아닌 원본 패키지에 대해서만 가져옵니다 .

답변:


77

pip install --download더 이상 사용되지 않습니다. 버전 8.0.0부터 다음 pip download명령 을 사용해야합니다 .

 pip download <package-name>

3
다운로드 한 패키지를 나중에 설치하는 방법은 무엇입니까?
knocte

1
이것은 가장 최신 답변입니다. 감사합니다
KJ50

3
@knoctepip install path-to-downloaded-package
안톤 Khodak

5
며칠 전에 시도했지만 다운로드 한 것을 사용하는 대신 인터넷에서 deps를 검색하려고 시도한 것 같습니다. IIRC, 내가 사용해야했습니다sudo pip install <path-to-downloaded-package> --no-index --find-links `pwd`
knocte

3
하는 것으로 pip download도 지원 -r requirements.txt쉽게 인터넷에 연결된 컴퓨터에서 모두 다운로드 할 수 있도록 다음 오프라인 컴퓨터에 복사하고 위의 덧글이 언급 한 방법 설치
호킨스

113

--download-cache옵션은 원하는 작업을 수행해야합니다.

pip install --download-cache="/pth/to/downloaded/files" package

그러나 이것을 테스트했을 때 메인 패키지가 정상적으로 다운로드되고 저장되고 설치되었지만 종속성은 이름으로 전체 URL 경로로 tar.gz저장되었습니다.

--download옵션은 기본 패키지 및 해당 종속성을 다운로드하고 설치하지 않습니다. ( 참고이전 버전 1.1--download 않았다 옵션이 없는 종속성을 다운로드 할 수 있습니다.)

pip install package --download="/pth/to/downloaded/files"

pip사용하여 문서 개요 --download에 대한 빠른 및 지역을 설치합니다 .


5
좋았습니다. 실제로 작동 --no-install했습니다. 옵션에 태그를 지정했지만 . 그리고 당신은 펑키 한 파일 이름에 대해 맞지만 적어도 파일은 거기에 있습니다.
John C

마지막으로 확인했을 때 종속성이 --download있는 패키지 다운로드하십시오 .
Mohammad Niknam

3
--download-cache는 더 이상 사용되지 않습니다. pip install --download <dir> <pkg> 사용
ostler.c

18
pip install --download현재는 더 이상 사용되지 않으며 pip 10에서 제거됩니다. pip.pypa.io/en/latest/reference/pip_download/#overview . 사용 pip download somepackage.
Sнаđошƒаӽ

17
구체적으로, 새로운 등가물은pip download -d <dir> { -r requirements.txt | <packagename> }
rrauenza

56

나는 항상 패키지를 다운로드하기 위해 이렇게한다.

pip install --download /path/to/download/to_packagename

또는

pip install --download=/path/to/packages/downloaded -r requirements.txt

방금 다운로드 한 모든 라이브러리를 설치하려면 다음을 수행합니다.

pip install --no-index --find-links="/path/to/downloaded/dependencies" packagename

또는

pip install --no-index --find-links="/path/to/downloaded/packages" -r requirements.txt


최신 정보

또한 한 시스템에 모든 패키지를 설치하려면 다른 시스템에 설치하는 데 사용할 패키지를 모두 내보낼 수 requirement.txt있습니다.

pip freeze > requirement.txt

그런 다음 requirement.txt위와 같이 다운로드하여을 사용하거나 다음 위치에서 설치할 수 있습니다 requirement.txt.

pip install -r requirement.txt

참조 : pip 설치 프로그램


6

버전 7.1.2에서 pip는 다음과 함께 패키지의 휠 (사용 가능한 경우)을 다운로드합니다.

pip install package -d /path/to/downloaded/file

다음은 소스 배포를 다운로드합니다.

pip install package -d /path/to/downloaded/file --no-binary :all:

pip가이를 인식하는 경우 (예 : pip show package나열하는 경우 ) 종속성도 다운로드합니다 .


최신 정보

Anton Khodak 에서 언급했듯이 pip download명령은 버전 8부터 선호됩니다. 위의 예에서 이것은 /path/to/downloaded/file옵션으로 제공되어야 -d하므로 works로 대체 install해야 download합니다.


인터넷에 전혀 연결되지 않은 상태에서 Windows에서 개발하고 RH7에 배포해야합니다. 그래서 --no-binary : all :으로 소스 패키지를 다운로드합니다. 그러나이 패키지에는 소스가 없기 때문에 django-pyodbc-azure == 2.0.4.1 수집시 실패합니다. 소스를 다운로드하는 방법이 있습니까? 아니면 이것이 존재하지 않는 경우 weehl을 다운로드하는 방법이 있습니까?
cwhisperer

6

pip download <package1 package2 package n>종속성을 포함한 모든 패키지를 다운로드하는 데 사용

pip install --no-index --find-links . <package1 package2 package n>종속성을 포함한 모든 패키지를 설치하는 데 사용 합니다. 에서 모든 파일을 가져옵니다 CWD. 아무것도 다운로드하지 않습니다


2

pip wheel 고려해야 할 또 다른 옵션입니다.

pip wheel mypackage -w .\outputdir

패키지와 종속성을 디렉토리 (기본적으로 현재 작업 디렉토리)에 다운로드하지만 소스 패키지를 바퀴로 변환하는 추가 단계를 수행합니다.

요구 사항 파일을 편리하게 지원합니다.

pip wheel -r requirements.txt -w .\outputdir

--no-deps특별히 요청 된 패키지 만 원하는 경우 인수를 추가하십시오 .

pip wheel mypackage -w .\outputdir --no-deps

0

나는 선호한다 (RHEL)- pip download package==version --no-deps --no-binary=:all:


-1

오프라인으로 파이썬 패키지 설치

들어 윈도우 사용자 :

파일로 다운로드 하려면 cmd를 열고 다음을 따르십시오 .

cd <*the file-path where you want to save it*>

pip download <*package name*>

패키지와 종속성은 현재 작업 디렉토리에 다운로드됩니다.

현재 작업 디렉토리에서 설치 하려면 :

다운로드 한 폴더를 cwd로 설정 한 후 다음을 따르십시오.

pip install <*the package name which is downloded as .whl*> --no-index --find-links <*the file locaation where the files are downloaded*>

그러면 해당 위치에서 종속성을 검색합니다.


플랫폼을 지정하지 않으면 현재 OS의 파일을 다운로드합니다. 따라서 다운로드 한 파일을 다른 OS에 설치하면 작동하지 않습니다
Prometheus
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.