¿Cuál es la forma correcta de instalar paquetes pip en un virtual usando paquetes en caché? Intenté configurar --timeout=360
y --use-mirrors
, pero el rendimiento de pypi es muy escaso, se cuelga o desconecta habitualmente, lo que hace que las implementaciones sean un desastre.Instalación de paquetes PIP en Virtualenv mediante un caché de descarga
lo tanto, mi plan era utilizar la opción --download-cache para todos los archivos de paquetes pre-descarga (pero no instalarlos), por ejemplo:
pip install --upgrade --timeout=120 --use-mirrors --no-install --download-cache /usr/local/pip/cache -r pip-requirements.txt
y especifique la ubicación del caché durante la instalación en el virtualenv, por ejemplo:
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
Creación de la caché fue muy frustrante, porque pip parece guardar nondeterministically el paquete descargado en el directorio caché. Específicamente, se negó a almacenar en caché Django==1.4.0
, diciendo que "ese requisito ya se ha cumplido", así que tuve que usar el --force-reinstall
.
La instalación con el caché es actualmente donde estoy atascado. Ejecutando el comando anterior me da el error:
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
¿Qué significa esto?
Los archivos:
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
sin duda existen en el directorio de caché y utilizan la opción --no-install
.
¿Qué estoy haciendo mal?
relacionado: ¿hay un mejor cdn/mirror al que pueda apuntar la aplicación, en lugar de crear una? – David
Creo que es incorrecto usar el término "paquetes de pip". Quizás te refieres a paquetes PyPI o paquetes Python – glarrain