ensurepip
— Ejecutando el instalador pip
¶
Nuevo en la versión 3.4.
Source code: Lib/ensurepip
El paquete ensurepip
proporciona soporte para ejecutar el instalador pip
en una instalación de Python existente o en un entorno virtual. Este enfoque de arranque refleja el hecho de que pip
es un proyecto independiente con su propio ciclo de lanzamiento, y la última versión estable disponible se incluye con el mantenimiento y las versiones de características del intérprete de referencia CPython.
En la mayoría de los casos, los usuarios finales de Python no deberían tener que invocar este módulo directamente (como pip
deben arrancarse de forma predeterminada), pero puede ser necesario si se omitió la instalación de pip
al instalar Python (o al crear un entorno virtual) o después de desinstalar explícitamente pip
.
Nota
Este módulo no accede a Internet. Todos los componentes necesarios para ejecutar pip
se incluyen como partes internas del paquete.
Ver también
- Instalando módulos de Python
La guía del usuario final para instalar paquetes python
- PEP 453: Arranque explícito de pip en instalaciones de Python
La justificación original y la especificación de este módulo.
Interfaz de línea de comandos¶
La interfaz de línea de comandos se invoca mediante el modificador -m
del intérprete.
La invocación más simple posible es:
python -m ensurepip
Esta invocación instalará pip
si aún no está instalado, pero de lo contrario no hace nada. Para asegurarse de que la versión instalada de pip
sea al menos tan reciente como la disponible en ensurepip
, pase la opción --upgrade
:
python -m ensurepip --upgrade
De forma predeterminada, pip
se instala en el entorno virtual actual (si uno está activo) o en los paquetes de sitio del sistema (si no hay ningún entorno virtual activo). La ubicación de instalación se puede controlar a través de dos opciones de línea de comandos adicionales:
--root <dir>
: Instalapip
en relación con el directorio raíz dado en lugar de la raíz del entorno virtual activo actualmente (si existe) o la raíz predeterminada para la instalación actual de Python.--user
: Instalapip
en el directorio de paquetes de sitio de usuario en lugar de globalmente para la instalación actual de Python (esta opción no está permitida dentro de un entorno virtual activo).
De forma predeterminada, se instalarán los scripts pipX
y pipX.Y
(donde X.Y representa la versión de Python utilizada para invocar ensurepip
). Los scripts instalados se pueden controlar a través de dos opciones de línea de comandos adicionales:
--altinstall
: si se solicita una instalación alternativa, no se instalará el scriptpipX
.--default-pip
: si se solicita una instalación de «pip predeterminado», se instalará el scriptpip
además de los dos scripts regulares.
Proporcionar ambas opciones de selección de script desencadenará una excepción.
API del módulo¶
ensurepip
expone dos funciones para su uso programático:
-
ensurepip.
version
()¶ Retorna una cadena que especifica la versión disponible de pip que se instalará al arrancar un entorno.
-
ensurepip.
bootstrap
(root=None, upgrade=False, user=False, altinstall=False, default_pip=False, verbosity=0)¶ Ejecuta
pip
en el entorno actual o designado.root especifica un directorio raíz alternativo para instalar en relación con. Si root es
None
, la instalación utiliza la ubicación de instalación predeterminada para el entorno actual.upgrade indica si se debe actualizar o no una instalación existente de una versión anterior de
pip
a la versión disponible.user indica si se debe utilizar el esquema de usuario en lugar de instalar globalmente.
De forma predeterminada, se instalarán los scripts
pipX
ypipX.Y
(donde X.Y representa la versión actual de Python).Si se establece altinstall, no se instalará
pipX
.Si se establece default_pip, se instalará
pip
además de los dos scripts normales.Establecer tanto altinstall como default_pip desencadenará
ValueError
.verbosity controla el nivel de salida a
sys.stdout
de la operación de ejecución.Genera un evento auditing
ensurepip.bootstrap
con el argumentoroot
.Nota
El proceso de ejecución tiene efectos secundarios tanto en
sys.path
comoos.environ
. Invocar la interfaz de línea de comandos en un subproceso en su lugar permite evitar estos efectos secundarios.Nota
El proceso de ejecución puede instalar módulos adicionales requeridos por
pip
, pero otro software no debe asumir que esas dependencias siempre estarán presentes de forma predeterminada (ya que las dependencias se pueden eliminar en una versión futura depip
).