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?