No se pudieron instalar los paquetes debido a un EnvironmentError: [Errno 13]

96

En mi terminal MacOS Mojave quería instalar un paquete de Python con pip. Al final dice:

You are using pip version 10.0.1, however version 18.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.

Así que quería actualizar pip con el comando dado pero recibí un error:

Could not install packages due to an EnvironmentError: [Errno 13] Permission denied: 
'/Library/Python/2.7/site-packages/pip-18.0-py2.7.egg/EGG-INFO/PKG-INFO'
Consider using the `--user` option or check the permissions.

Realmente no entiendo qué hacer ahora. También me di cuenta de que dice Python 2.7 en el mensaje de error, pero tengo y quiero usar solo Python 3.

Adler
fuente
6
¿Leíste: "Considere usar la --useropción o verifique los permisos"?
Klaus D.
Lo acabo de intentar, ¡tienes razón! Pensé que VERIFICARÍA los permisos y no DARÍA permisos. ¡Gracias!
Adler
2
Para instalar paquetes para python3, debe usar pip3. Para actualizar pip, simplemente ejecute como sudo si se encuentra con errores de permisos.
BoboDarph

Respuestas:

148

Si desea usar python3 + para instalar los paquetes que necesita usarpip3 install package_name

Y para solucionar el errno 13 hay que sumar --useral final

pip3 install package_name --user

EDITAR:

Para cualquier proyecto en python es muy recomendable trabajar en un entorno virtual , es una herramienta que ayuda a mantener separadas las dependencias requeridas por diferentes proyectos creando entornos virtuales de python aislados para ellos.

Para crear uno con python3 + tienes que usar el siguiente comando:

virtualenv enviroment_name -p python3

Y luego trabajas en él con solo activarlo :

source enviroment_name/bin/activate

Una vez que se activa el entorno virtual, el nombre de su entorno virtual aparecerá en el lado izquierdo de la terminal. Esto le permitirá saber que el entorno virtual está activo actualmente. Ahora puede instalar dependencias relacionadas con el proyecto en este entorno virtual con solo usar pip.

pip install package_name
Gonzalo García
fuente
2
Hice esto pero sigo teniendo problemas. Instalé el matraz pero todavía no se puede encontrar dentro de mi venv. ¿Que puedo hacer?
Leonard
Pruebe virtualenv -p python3.8 nombre_ambiente Uso: virtualenv [OPCIONES] DEST_DIR
Tommy Gibbons
1
Funciona perfectamente. ¡Gracias!
Haardik Dharma
22

Con respecto al comando de permisos, intente usar sudo frente al comando de su terminal:

sudo pip install --upgrade pip

Sudo es un programa que le permite ejecutar el comando con los privilegios del superusuario.

Con respecto a Python Intente ejecutar pip como un ejecutable como este:

python3.6 -m pip install <package>
Dominique Paul
fuente
5

Cometí los mismos errores y luego me di cuenta de que había creado mi entorno virtual como usuario root. Estaba protegido contra escritura, así que verifique si su entorno virtual está protegido contra escritura. haz un nuevo venv e inténtalo de nuevo

Sheetala Prasad Tiwari
fuente
4

Recibí el mismo error cuando intentaba instalar un paquete (flask-classful).
Cometí el error de instalar anaconda como root. Cambié la propiedad de la carpeta anaconda instalada y pude instalar el paquete correctamente.

Use el comando chowncon la opción -Rpara cambiar de forma recursiva la propiedad de la carpeta anaconda instalada así:

chown -R owner:group /path/to/anaconda

Aquí el propietario es su nombre de usuario y el grupo es el nombre del grupo.

sherminator35
fuente
3

Para MacOs y Unix

Simplemente agregando sudo al comando funcionará, ya que lo ejecutaría como un superusuario.

sudo pip install --upgrade pip

Sin embargo, se recomienda que no lo haga directamente; consulte esta publicación

Rohit Kumar
fuente
Esto no es útil para los usuarios de Windows en absoluto, y este error es más común entre los usuarios de Windows debido a los permisos operativos de Windows. Además, los comandos deben estar encerrados en bloques de código, cuando no lo están hace que sea difícil de leer
logos_164
2

La respuesta está en el mensaje de error. En el pasado, usted o un proceso hicieron un sudo pipy eso causó que algunos de los directorios debajo /Library/Python/2.7/site-packages/...tuvieran permisos que lo hacían inaccesible para su usuario actual.

Luego hiciste una pip install whateverque se basa en la otra cosa.

Entonces, para solucionarlo, visite /Library/Python/2.7/site-packages / ... y busque el directorio con los permisos de root o no-su-usuario y elimine y luego reinstale esos paquetes, o simplemente fuerce la propiedad al usuario a quién debería tener acceso.

Eric Leschinski
fuente
simple y funcional. use $ whoami para saber qué usuario es actualmente, luego $ sudo chown username /Library/Python/2.7/site-packages/ luego pip install lo que sea ... Puede que tenga que usar chown de forma recursiva
Sunil Kumar
2

Tuve el mismo problema al instalar numpycon pip install numpy.

Entonces lo intenté

sudo -H pip3 install --upgrade pip

sudo -H pip3 install numpy

Funciono bien para mi.

Explicación: La -Hopción (INICIO) sudoestablece la variable de entorno INICIO en el directorio de inicio del usuario de destino (raíz de forma predeterminada). Por defecto, sudo no modifica HOME.

Genio
fuente
1

Ya probé todas las sugerencias publicadas aquí, pero sigo recibiendo el error 13,

Estoy usando Windows y mi versión de Python es 3.7.3

Después de 5 horas de intentar resolverlo, este paso funcionó para mí:

Intento abrir el símbolo del sistema ejecutando como administrador

nrmzmh
fuente
0

También tuve el mismo problema, probé muchas líneas de comando diferentes, esta funcionó para mí:

Tratar:

    conda install py-xgboost

Eso es lo que tengo:

Collecting package metadata: done
Solving environment: done

## Package Plan ##

  environment location: /home/simplonco/anaconda3

  added / updated specs:
    - py-xgboost


The following packages will be downloaded:

    package                    |            build
    ---------------------------|-----------------
    _py-xgboost-mutex-2.0      |            cpu_0           9 KB
    ca-certificates-2019.1.23  |                0         126 KB
    certifi-2018.11.29         |           py37_0         146 KB
    conda-4.6.2                |           py37_0         1.7 MB
    libxgboost-0.80            |       he6710b0_0         3.7 MB
    mkl-2019.1                 |              144       204.6 MB
    mkl_fft-1.0.10             |   py37ha843d7b_0         169 KB
    mkl_random-1.0.2           |   py37hd81dba3_0         405 KB
    numpy-1.15.4               |   py37h7e9f1db_0          47 KB
    numpy-base-1.15.4          |   py37hde5b4d6_0         4.2 MB
    py-xgboost-0.80            |   py37he6710b0_0         1.7 MB
    scikit-learn-0.20.2        |   py37hd81dba3_0         5.7 MB
    scipy-1.2.0                |   py37h7c811a0_0        17.7 MB
    ------------------------------------------------------------
                                           Total:       240.0 MB

The following NEW packages will be INSTALLED:

  _py-xgboost-mutex  pkgs/main/linux-64::_py-xgboost-mutex-2.0-cpu_0
  libxgboost         pkgs/main/linux-64::libxgboost-0.80-he6710b0_0
  py-xgboost         pkgs/main/linux-64::py-xgboost-0.80-py37he6710b0_0

The following packages will be UPDATED:

  ca-certificates     anaconda::ca-certificates-2018.12.5-0 --> pkgs/main::ca-certificates-2019.1.23-0
  mkl                                            2019.0-118 --> 2019.1-144
  mkl_fft                              1.0.4-py37h4414c95_1 --> 1.0.10-py37ha843d7b_0
  mkl_random                           1.0.1-py37h4414c95_1 --> 1.0.2-py37hd81dba3_0
  numpy                               1.15.1-py37h1d66e8a_0 --> 1.15.4-py37h7e9f1db_0
  numpy-base                          1.15.1-py37h81de0dd_0 --> 1.15.4-py37hde5b4d6_0
  scikit-learn                        0.19.2-py37h4989274_0 --> 0.20.2-py37hd81dba3_0
  scipy                                1.1.0-py37hfa4b5c9_1 --> 1.2.0-py37h7c811a0_0

The following packages will be SUPERSEDED by a higher-priority channel:

  certifi                                          anaconda --> pkgs/main
  conda                                            anaconda --> pkgs/main
  openssl                anaconda::openssl-1.1.1-h7b6447c_0 --> pkgs/main::openssl-1.1.1a-h7b6447c_0


Proceed ([y]/n)? y


Downloading and Extracting Packages
libxgboost-0.80      | 3.7 MB    | ##################################### | 100% 
mkl_random-1.0.2     | 405 KB    | ##################################### | 100% 
certifi-2018.11.29   | 146 KB    | ##################################### | 100% 
ca-certificates-2019 | 126 KB    | ##################################### | 100% 
conda-4.6.2          | 1.7 MB    | ##################################### | 100% 
mkl-2019.1           | 204.6 MB  | ##################################### | 100% 
mkl_fft-1.0.10       | 169 KB    | ##################################### | 100% 
numpy-1.15.4         | 47 KB     | ##################################### | 100% 
scipy-1.2.0          | 17.7 MB   | ##################################### | 100% 
scikit-learn-0.20.2  | 5.7 MB    | ##################################### | 100% 
py-xgboost-0.80      | 1.7 MB    | ##################################### | 100% 
_py-xgboost-mutex-2. | 9 KB      | ##################################### | 100% 
numpy-base-1.15.4    | 4.2 MB    | ##################################### | 100% 
Preparing transaction: done
Verifying transaction: done
Executing transaction: done
Psybelo
fuente
0

pruebe esta línea de comando a continuación para MacOS para verificar el permiso del usuario.

$ sudo python -m pip install --user --upgrade pip
An Nguyen
fuente
0

Tengo anaconda instalado para Python 3. También tengo Python2 en mi mac.

python --version

me da

Python 3.7.3

python2.7 --version

me da

Python 2.7.10

Quería instalar el paquete pyspark en python2, dado que ya estaba instalado en python3.

python2.7 -m pip install pyspark

me da un error

No se pudieron instalar los paquetes debido a un EnvironmentError: [Errno 13] Permiso denegado: '/Library/Python/2.7/site-packages/pyspark' Considere usar la --useropción o verifique los permisos.

El siguiente comando lo resolvió. Gracias a Dios no tuve que hacer ningún cambio de configuración.

python2.7 -m pip install pyspark --user

Recopilación de pyspark Requisito ya satisfecho: py4j == 0.10.7 en /Library/Python/2.7/site-packages (de pyspark) (0.10.7) Instalación de paquetes recopilados: pyspark Se instaló correctamente pyspark-2.4.4 Está utilizando pip versión 18.1 , sin embargo, la versión 19.3.1 está disponible. Debería considerar la actualización a través del comando 'pip install --upgrade pip'.

karthi190
fuente
0

Tuve un problema similar en un venv en una partición NTFS montada en Linux con todos los permisos correctos. Asegurándose de que pip se ejecutara con --ignore-installed lo resolvió, es decir:

python -m pip install --upgrade --ignore-installed

eleg
fuente
0

En Mac, no hay 3.7directorio o el directorio 3.7es propiedad de root. Entonces, eliminé ese directorio, creé un nuevo directorio por usuario actual y lo moví allí. Luego, la instalación finaliza sin errores.

sudo rm -rf /Library/Python/3.7
mkdir 3.7
sudo mv 3.7 /Library/Python
ll /Library/Python/
pip3 install numpy
zhongxiao37
fuente
0

Esto también me pasa cuando intento instalar el opencv-pythonpaquete:

intento de instalación

Puedo arreglarlo con la línea de comando

python3 -m pip install {name of package} --user

Cuando intento instalar dicho paquete, el comando se convierte en:

python3 -m pip install opencv-python --user

Dando como resultado esto:

resultado

Ashadi Sedana Pratama
fuente
-7

sólo sudo pip install packagename

XHFKA
fuente