servidor requisitos proyecto para maestros mac instalar instala estructura entorno donde crear como python virtualenv pip

python - requisitos - Actualizar el paquete sin actualizar dependencias usando pip?



requisitos para instalar django (3)

Acabo de probar mi proyecto virtualenv y pip install -U --no-deps mypackage parece funcionar bien. Simplemente descarga mi paquete y nada más. ¿Cómo está configurado?

Estoy usando pip y virtualenv para mi aplicación de Python. Me gustaría actualizar a una nueva versión de la aplicación sin tocar las dependencias. Cuando uso pip install -U , intenta actualizar todos los paquetes, e incluso desinstala y vuelve a instalar la misma versión de un paquete de dependencia cuando no hay una nueva versión disponible.

También probé pip install -U --no-deps pero eso parece equivalente a una instalación normal en lugar de una actualización. ¿Hay una combinación de banderas que hará lo que yo quiero?


Tienes razón. Pensé que cuando agregué --no-deps había olvidado desinstalar la versión existente. Pero lo intenté de nuevo y veo que no hay problema:

$ pip install -U --no-deps myproj Downloading/unpacking myproj Downloading myproj-1.0-trunk.31072.tar.gz (43Kb): 43Kb downloaded Running setup.py egg_info for package myproj Installing collected packages: myproj Found existing installation: myproj 1.0-trunk.31053 Uninstalling myproj: Successfully uninstalled myproj Running setup.py install for myproj Successfully installed myproj Cleaning up...


ACTUALIZACIÓN (gracias al comentario de @ Jether): si está utilizando la última versión de pip, entonces actualizar las dependencias solo cuando sea necesario ahora es el comportamiento predeterminado, ¡y no necesita hacer nada especial! La respuesta a continuación describe los pasos para las versiones anteriores de pip (que también funciona para las versiones más nuevas si desea ser portátil).

Si realmente no quieres tocar las dependencias, entonces, de hecho, el camino a seguir es

pip install -U --no-deps mypackage

Pero creo que lo que generalmente querrá es no actualizar las dependencias a menos que sea necesario. En ese caso, puede usar:

pip install --upgrade --upgrade-strategy only-if-needed mypackage

Esto solo actualiza los requisitos si el paquete requiere una versión más nueva que la que está instalada.