web-dev-qa-db-ja.com

Pythonのpipを使用して、パッケージのzipファイルをダウンロードして保持するにはどうすればよいですか?

pipコマンドを使用してパッケージ(およびその依存関係)をダウンロードしたいが、keepダウンロードしたすべての圧縮ファイルを使用する場合(たとえば、Django-socialregistration.tar.gz)-それを行う方法はありますか?

さまざまなコマンドラインオプションを試しましたが、常に解凍し、zipファイルをdelete-またはzipファイルを取得しますが、元のパッケージに対してのみ、依存関係に対して。

90
John C

pip install --downloadは非推奨です。バージョン8.0.0以降では、 pip download コマンドを使用する必要があります。

 pip download <package-name>
58
Anton Khodak

--download-cacheオプションはあなたが望むことをするべきです:

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

ただし、これをテストすると、メインパッケージはダウンロード、保存、およびインストールが正常に行われましたが、依存関係は完全なURLパスを名前として保存されました。少し面倒ですが、tar.gzファイルはすべてありました。

--downloadオプションは、メインパッケージとその依存関係をダウンロードし、それらのいずれもインストールしません。 (そのバージョン1.1以前--downloadオプションはnot依存関係をダウンロードしました)

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

pipのドキュメントでは、 高速およびローカルインストール--downloadを使用して概要を説明しています。

111
Mark Gemmill

私はいつもこれをしてパッケージをダウンロードします:

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

OR

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

そして、私がダウンロードしたばかりのライブラリをすべてインストールしたいとき、私はこれをします:

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

OR

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


更新

また、すべてのパッケージを1つのシステムにインストールするために、それらをすべて別のシステムにインストールするために使用されるrequirement.txtにエクスポートすることができます。

pip freeze > requirement.txt

次に、requirement.txtを上記のようにダウンロードに使用するか、これを実行してrequirement.txtからインストールします。

pip install -r requirement.txt

リファレンス: pip installer

52
securecurve

バージョン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 で述べたように、バージョン8以降、pip downloadコマンドが推奨されます。上記の例では、/path/to/downloaded/fileをオプション-dとともに指定する必要があるため、 installdownloadに置き換えると機能します。

7
jasaarim

pip download <package1 package2 package n>を使用して、依存関係を含むすべてのパッケージをダウンロードします

pip install --no-index --find-links . <package1 package2 package n>を使用して、依存関係を含むすべてのパッケージをインストールします。 CWDからすべてのファイルを取得します。何もダウンロードしません

6

pip wheel は、考慮すべきもう1つのオプションです。

pip wheel mypackage -w .\outputdir

パッケージとその依存関係をディレクトリ(デフォルトでは現在の作業ディレクトリ)にダウンロードしますが、ソースパッケージをwheelに変換する追加のステップを実行します。

要件ファイルを便利にサポートします:

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

特別に要求されたパッケージのみが必要な場合は、--no-deps引数を追加します。

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