Perché il mio pip3 installato con Homebrew tenta di scrivere pacchetti nella libreria di sistema?

0

Ho apparentemente fatto qualcosa di orribile alla mia installazione di Python. Ho appena installato Python 3.7.0 usando Homebrew. Quando tento di usare pip3 per installare un pacchetto, fallisce:

$ /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. Come puoi vedere da questo, sta cercando di installare il pacchetto nella directory di sistema per la versione appropriata, in questo caso /Library/Python/3.7 . Questo non funziona, per due motivi: poiché non esiste la versione 3.7 del sistema, la directory non esiste, e anche se lo fa, richiede l'autorizzazione root per scrivere qualcosa sotto /Library .

Se provo a utilizzare pip3 install --user , ancora tenta di installare sotto /Library .

Installazione utilizzando sudo funziona ... per aggiungere il pacchetto ai pacchetti del sito in /Library . Ma quando provo ad importare questi pacchetti, esso appare nella Cantina e non li trova.

Abbastanza sconcertato da questo. Ho provato a rimuovere e reinstallare Homebrew Python (inclusa la rimozione di altre versioni che avevo precedentemente installato).

Un problema simile per una versione precedente di Python è descritto qui , ma le soluzioni alternative fornite non risolvono questo problema.

Credo che mi stia chiedendo, in che modo PIP capisce dove scrivere i file dei pacchetti e come posso riconfigurarlo in modo che faccia la cosa giusta?

    
posta Tim Keating 06.08.2018 - 06:12
fonte

0 risposte

Leggi altre domande sui tag