Pip: no se puede instalar un paquete

Resuelto
Tiwo68 Mensajes publicados 4 Estado Miembro -  
mamiemando Mensajes publicados 33228 Fecha de registro   Estado Moderador Última intervención   -

Hola,

es imposible instalar cualquier paquete y actualizar pip


5 respuestas

  1. AinoaHelp Mensajes publicados 15 Estado Miembro 5
     

    ¡Hey!

    ¿Has visto las últimas líneas de tu CMD? (access denied -> falta de permisos y para pip te da el comando para la actualización).

    Ainoa.


    3
  2. Usuario anónimo
     

    Hola

    ¿realmente necesitas Python 3.6?

    Ya estamos en la 3.12, con su pip incluido.


    Cuando era pequeño, el Mar Muerto solo estaba enfermo.
    George Burns

    1
  3. Tiwo68 Mensajes publicados 4 Estado Miembro
     

    intenté cambiar los permisos del sistema pero sin éxito :(

    tengo un error similar cuando hago pip install --upgrade pip

    0
    1. barnabe0057 Mensajes publicados 14329 Fecha de registro   Estado Colaborador Última intervención   4 930
       

      Hola,

      Nadie te ha pedido modificar los permisos del sistema, solo se trata de abrir tu consola como administrador (haciendo clic derecho con el ratón)

      0
  4. mamiemando Mensajes publicados 33228 Fecha de registro   Estado Moderador Última intervención   7 944
     

    Hola,

    Respuesta corta

    El paquete pip que intentas actualizar está desplegado en las carpetas del sistema (no en tu carpeta de usuario). Por ello no puedes actualizarlo con un perfil de usuario (que no tiene suficientes derechos): hay que actualizarlo con derechos de administrador (ver #1 y #5).

    Las otras aproximaciones posibles consisten en desplegar pip:

    • ya sea en tu carpeta de usuario;
    • o en un entorno virtual.

    Respuesta detallada

    Hay que entender que puedes tener varios entornos de Python en los que instalar un paquete:

    • a nivel del sistema (solamente modificable por el administrador)
    • a nivel de la carpeta del usuario
    • en un entorno virtual (volveré a ello más tarde).

    Estos entornos no son exclusivos: un mismo paquete puede en absoluto estar instalado en todos estos lugares. Y pip no escapa a la regla, porque él mismo es un paquete.

    La pregunta ahora es dónde debe instalarse el paquete. Si el entorno involucrado es el sistema, se requieren derechos de root. De lo contrario, bastan derechos de usuario. En #3 intentas, manifiestamente, intervenir con derechos de usuario sobre un paquete desplegado con derechos de administrador. Por lo tanto, tienes derechos insuficientes, de ahí el error.

    Instalar pip en la carpeta del usuario

    Como ya mencioné en la sección anterior, nada impide instalar pip tanto en las carpetas del sistema como en la carpeta de usuario. En ese caso el pip "de usuario" debería primar sobre el pip "administrador". Para convencerse, basta con mirar tu variable de entorno PATH. Puede ser útil cuando no eres administrador en tu máquina, pero necesitas como usuario otra versión de pip.

    Usar pip: ¿usuario o administrador?

    Independientemente de dónde esté instalado pip, el contexto en el que llamas pip es determinante, ya que decidirá en qué entorno vas a intervenir:

    • Si utilizas tu perfil de usuario y haces un pip install (o pip install -U, o pip remove), entonces intentas desplegar (o actualizar, o eliminar) el paquete en tu carpeta de usuario;
    • Si utilizas tu perfil de administrador y haces un pip install (o pip install -U, o pip remove), entonces intentas desplegar (o actualizar, o eliminar) el paquete en las carpetas del sistema. Y en ese caso, solo el administrador podrá intervenir sobre este paquete.

    Para ir más allá: los entornos virtuales

    El entorno virtual (virtual environment en inglés, a menudo abreviado venv) es la forma clásica (y propuesta por PyCharm) de aislar un proyecto de los posibles paquetes instalados en la carpeta del usuario o en las carpetas del sistema (incluido pip).

    • Ventajas :
      • El proyecto está completamente aislado y, por tanto, es inmune a lo que ocurre en las carpetas del sistema y del usuario (paquetes instalados + versión).
      • Nos aseguramos de haber determinado todas las dependencias del proyecto.
    • Desventajas :
      • Hay que haber determinado todas las dependencias del proyecto (en un proyecto, a menudo se enumeran en requirements.txt o en pyproject.toml).
      • Cada vez que quieras usar el proyecto, hay que activar este entorno virtual (a menos que las dependencias también estén desplegadas en el sistema y/o la carpeta de usuario).
      • Even si estas dependencias ya están instaladas en la carpeta de usuario y/o en el sistema, se instalan de nuevo en el entorno virtual, lo que a la larga consume más espacio en disco.

    Bonne chance

    0