Pythonのpipを使用してパッケージのzipファイルをダウンロードして保持する方法は?


104

私が使用したい場合はpip、パッケージ(およびその依存関係)をダウンロードしますが、コマンドを続けることを行う方法がある- (たとえば、ジャンゴ・socialregistration.tar.gz)がダウンロードさZIPファイルのすべてを?

私はさまざまなコマンドラインオプションを試しましたが、常にzipfile を解凍して削除するようです-またはzipfileを取得しますが、依存関係ではなく元のパッケージに対してのみです。

回答:


77

pip install --download廃止予定です。バージョン8.0.0以降、pip download次のコマンドを使用する必要があります。

 pip download <package-name>

3
ダウンロードしたパッケージを後でインストールする方法は?
knocte 2016年

1
これが最新の答えです。ありがとう
KJ50 2016年

3
@knoctepip install path-to-downloaded-package
Anton Khodak 2016年

5
数日前に試しましたが、ダウンロードしたものを使用する代わりに、インターネットからまだdepを取得しようとしていると思います。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 2013

3
--download-cacheは非推奨です。pip install --download <dir> <pkg>を使用します
ostler.c '20年

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


更新

また、1つのシステムにインストールされているすべてのパッケージを取得するには、それらをすべてエクスポートし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リストしている場合など)にも依存関係をダウンロードします。


更新

示されるようアントンKhodakpip downloadコマンドは、この手段上記の例ではバージョン8ので好ましい/path/to/downloaded/fileオプションで与えられる必要がある-dので、交換、installdownload作品が。


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


-1

Pythonパッケージのオフラインインストール

以下のためのWindowsユーザー:

するにはダウンロードしたファイルには、あなたの開いてCMDをして、これをfolow:

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.