キャッシュされたパッケージを使用して pip パッケージを virtualenv にインストールする適切な方法は何ですか? と を設定--timeout=360
してみまし--use-mirrors
たが、pypi のパフォーマンスが非常に不安定で、定期的にハングしたり切断したりして、デプロイが面倒です。
したがって、私の計画では、 --download-cache オプションを使用して、すべてのパッケージ アーカイブを事前にダウンロードする (ただし、インストールはしない) ことでした。たとえば、次のようになります。
pip install --upgrade --timeout=120 --use-mirrors --no-install --download-cache /usr/local/pip/cache -r pip-requirements.txt
次に、インストール中にこのキャッシュの場所を virtualenv に指定します。
virtualenv /usr/local/myapp/.env
. /usr/local/myapp/.env/bin/activate; pip install --no-download --download-cache /usr/local/pip/cache -r pip-requirements.txt
deactivate
pip はダウンロードしたパッケージを非決定論的にキャッシュディレクトリに保存するように見えるため、キャッシュの作成は非常にイライラしました。Django==1.4.0
具体的には、 「その要件はすでに満たされている」と言ってキャッシュを拒否したため、 --force-reinstall
.
キャッシュを使用したインストールは、現在私が立ち往生しているところです。上記のコマンドを実行すると、次のエラーが表示されます。
Could not install requirement Django==1.4.0 (from -r pip-requirements.txt (line 1)) because source folder /usr/local/myapp/.env/build/Django does not exist (perhaps --no-download was used without first running an equivalent install with --no-install?)
Storing complete log in /home/chris/.pip/pip.log
これは何を意味するのでしょうか?
ファイル:
http%3A%2F%2Fpypi.python.org%2Fpackages%2Fsource%2FD%2FDjango%2FDjango-1.4.tar.gz
http%3A%2F%2Fpypi.python.org%2Fpackages%2Fsource%2FD%2FDjango%2FDjango-1.4.tar.gz.content-type
キャッシュディレクトリに確実に存在し、--no-install
オプションを使用しました。
私は何を間違っていますか?