¿Por qué mi pip3 instalado con Homebrew intenta escribir paquetes en la biblioteca del sistema?

0

Aparentemente, he hecho algo horrible en mi instalación de Python. Acabo de instalar Python 3.7.0 recientemente utilizando Homebrew. Cuando intento usar pip3 para instalar un paquete, falla:

$ /usr/local/Cellar/python/3.7.0/bin/pip3 install boto3 Collecting boto3 Using cached https://files.pythonhosted.org/packages/dd/80/515ffd88a5b9d35dc6fc29b64727a2ee4322690945e44b81bb8cdb47fecb/boto3-1.7.70-py2.py3-none-any.whl Collecting s3transfer<0.2.0,>=0.1.10 (from boto3) Using cached https://files.pythonhosted.org/packages/d7/14/2a0004d487464d120c9fb85313a75cd3d71a7506955be458eebfe19a6b1d/s3transfer-0.1.13-py2.py3-none-any.whl Collecting jmespath<1.0.0,>=0.7.1 (from boto3) Using cached https://files.pythonhosted.org/packages/b7/31/05c8d001f7f87f0f07289a5fc0fc3832e9a57f2dbd4d3b0fee70e0d51365/jmespath-0.9.3-py2.py3-none-any.whl Collecting botocore<1.11.0,>=1.10.70 (from boto3) Using cached https://files.pythonhosted.org/packages/c9/d2/2412e4cb63931bf1bcd0cde9618c92f51f7bfe68db8dc2120cfabc76a0a8/botocore-1.10.70-py2.py3-none-any.whl Collecting docutils>=0.10 (from botocore<1.11.0,>=1.10.70->boto3) Using cached https://files.pythonhosted.org/packages/36/fa/08e9e6e0e3cbd1d362c3bbee8d01d0aedb2155c4ac112b19ef3cae8eed8d/docutils-0.14-py3-none-any.whl Collecting python-dateutil<3.0.0,>=2.1; python_version >= "2.7" (from botocore<1.11.0,>=1.10.70->boto3) Using cached https://files.pythonhosted.org/packages/cf/f5/af2b09c957ace60dcfac112b669c45c8c97e32f94aa8b56da4c6d1682825/python_dateutil-2.7.3-py2.py3-none-any.whl Collecting six>=1.5 (from python-dateutil<3.0.0,>=2.1; python_version >= "2.7"->botocore<1.11.0,>=1.10.70->boto3) Using cached https://files.pythonhosted.org/packages/67/4b/141a581104b1f6397bfa78ac9d43d8ad29a7ca43ea90a2d863fe3056e86a/six-1.11.0-py2.py3-none-any.whl Installing collected packages: docutils, six, python-dateutil, jmespath, botocore, s3transfer, boto3 Could not install packages due to an EnvironmentError: [Errno 13] Permission denied: '/Library/Python/3.7/site-packages/docutils/io.py' Consider using the '--user' option or check the permissions. Como puede ver en esto, está intentando instalar el paquete en el directorio del sistema para la versión apropiada, en este caso /Library/Python/3.7 . Esto no funciona, por dos razones: ya que no hay una versión del sistema 3.7, el directorio no existe, e incluso si lo hace, requiere permiso de root para escribir cualquier cosa debajo de /Library .

Si intento usar pip3 install --user , todavía intenta instalarse bajo /Library .

La instalación con sudo funciona ... para agregar el paquete a los paquetes de sitio en /Library . Pero cuando trato de importar esos paquetes, se ve en la bodega y no los encuentra.

Bastante desconcertado por esto. He intentado eliminar y reinstalar Homebrew Python (incluida la eliminación de otras versiones que había instalado anteriormente).

Un problema similar para una versión anterior de Python se describe aquí , pero Las soluciones proporcionadas no solucionan este problema.

Supongo que me pregunto, ¿cómo PIP descubre dónde escribir los archivos del paquete y cómo lo reconfiguro para que haga lo correcto?

    
pregunta Tim Keating 06.08.2018 - 06:12

0 respuestas

Lea otras preguntas en las etiquetas