Jaki jest właściwy sposób instalacji pakietów pip na virtualenv przy użyciu pakietów z pamięci podręcznej? Próbowałem ustawić --timeout=360
i --use-mirrors
, ale wydajność pypi jest tak flakey, to rutynowo zawiesza się lub rozłącza, czyniąc wdrożeń crapshoot.Instalowanie pakietów PIP do Virtualenv przy użyciu cache pobierania
Więc, mój plan był do korzystania z opcji --download-cache do pre-download wszystkich archiwów pakietów (ale nie ich instalacji), np:
pip install --upgrade --timeout=120 --use-mirrors --no-install --download-cache /usr/local/pip/cache -r pip-requirements.txt
a następnie określić tę lokalizację cache podczas instalacji do virtualenv, np
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
Tworzenie cache było bardzo frustrujące, ponieważ wydaje się, pip niedeterministycznie zapisać pobrany pakiet do pamięci podręcznej reż. W szczególności odmówił buforowania Django==1.4.0
, mówiąc: "to wymaganie zostało już spełnione", więc musiałem użyć --force-reinstall
.
Instalacja z wykorzystaniem pamięci podręcznej jest obecnie w miejscu, gdzie utknąłem. Uruchomienie powyższego polecenia powoduje błąd:
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
Co to oznacza?
Pliki:
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
pewno istnieje w katalogu pamięci podręcznej, i użyłem opcji --no-install
.
Co robię źle?
pokrewne: czy jest tylko lepsze urządzenie cdn/mirror, do którego można skierować aplikację zamiast tworzyć? – David
Myślę, że niewłaściwe jest używanie terminu "pakiety paczek". Być może masz na myśli pakiety PyPI lub pakiety Pythona – glarrain