Quand je cours:
Sudo pip install ipython
Je reçois l'erreur suivante
OSError: [Errno: 1] Opération non autorisée: '/ System/Library/Frameworks/Python.framework/Versions/2.7/share'.
La dernière commande exécutée tente de créer le répertoire indiqué ci-dessus.
En outre, la commande suivante ne parvient pas à installer iPython sans fournir d'erreurs.
Sudo pip install --user python
(Je suis sous Mac OS X El Capitan au cas où d'autres personnes de ce système d'exploitation verraient le même problème.)
Les instructions indiquant Sudo pip install
sont intrinsèquement fausses.
S'il y a un tutoriel qui dit que vous devriez faire Sudo pip
, alors notez un bogue contre ce paquet. L'auteur déséduque la communauté Python, car le temps a prouvé que Sudo pip
était une pratique rompue.
OSX El Capitan a introduit un mécanisme pour éviter d’endommager les fichiers du système d’exploitation . /System/Library/Frameworks/Python.framework/Versions/2.7/share
est l'un des emplacements protégés. Un utilisateur normal n'a aucune raison de mettre ou d'écrire des fichiers là-bas. En effet, le système d'exploitation lui-même s'appuie sur ces fichiers et Sudo pip
, avec toute la force fournie ci-dessus, les écraserait de manière inconditionnelle. Habituellement, de mauvaises choses ne se produiraient pas, mais les chances sont là. Apple veut protéger les utilisateurs de leur système d’exploitation contre toute installation accidentelle.
Au lieu de cela, vous devez installer un package Python, tel que IPython, localement dans le dossier de base de votre utilisateur. Le moyen le plus simple consiste à créer un environnement virtuel, l'activer _, puis à exécuter pip dans l'environnement virtuel.
Exemple:
cd ~ # Go to home directory
virtualenv my-venv
source my-venv/bin/activate
pip install IPython
Plus d'informations
Alternativement, on devrait pouvoir faire pip install --user
. Mais encore une fois, no Sudo avait besoin de et vous deviez configurer manuellement la variable d’environnement PATH
.
J'ai eu les mêmes problèmes, mais utiliser easy_install "module"
a résolu le problème pour moi.
Je ne sais pas pourquoi, mais pip et easy_install utilisent des emplacements d'installation différents, et easy_install a choisi les bons.
Edit: sans re-vérifier mais à cause des commentaires; il semble que différentes installations (installées sous OSX et sous brassées) interfèrent les unes avec les autres, raison pour laquelle les outils mentionnés pointent en fait vers des emplacements différents (puisqu'ils appartiennent à des installations différentes). Je comprends que généralement, ces outils d’un point d’installation se trouvent dans le même dossier.
Vous devriez réinstaller Python:
brew reinstall python
Pour obtenir une infusion, voir la page d'accueil de brew .
pip install --ignore-installed six
Cela fera le travail, alors vous pouvez essayer votre première commande.
Utilisez pip3 install <package>
à la place et a résolu le problème de permission avec pip
.
J'ai eu les mêmes problèmes. Comme d'autres l'ont déjà mentionné, n'exécutez pas pip install avec Sudo. Courir
brew doctor
et corrigez les avertissements et vous devriez pouvoir procéder à l’installation de votre pip.
Même erreur
Installing collected packages: six, pyparsing, packaging, appdirs, setuptools
Exception:
Traceback (most recent call last):
File "/Library/Python/2.7/site-packages/pip-9.0.1-py2.7.Egg/pip/basecommand.py", line 215, in main
status = self.run(options, args)
File "/Library/Python/2.7/site-packages/pip-9.0.1-py2.7.Egg/pip/commands/install.py", line 342, in run
prefix=options.prefix_path,
File "/Library/Python/2.7/site-packages/pip-9.0.1-py2.7.Egg/pip/req/req_set.py", line 784, in install
**kwargs
File "/Library/Python/2.7/site-packages/pip-9.0.1-py2.7.Egg/pip/req/req_install.py", line 851, in install
self.move_wheel_files(self.source_dir, root=root, prefix=prefix)
File "/Library/Python/2.7/site-packages/pip-9.0.1-py2.7.Egg/pip/req/req_install.py", line 1064, in move_wheel_files
isolated=self.isolated,
File "/Library/Python/2.7/site-packages/pip-9.0.1-py2.7.Egg/pip/wheel.py", line 345, in move_wheel_files
clobber(source, lib_dir, True)
File "/Library/Python/2.7/site-packages/pip-9.0.1-py2.7.Egg/pip/wheel.py", line 323, in clobber
shutil.copyfile(srcfile, destfile)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/shutil.py", line 83, in copyfile
with open(dst, 'wb') as fdst:
IOError: [Errno 13] Permission denied: '/Library/Python/2.7/site-packages/six.py'
et ici j'utilise --user
sans Sudo
pour résoudre ce problème
$ pip install --user scikit-image h5py keras pygame
Collecting scikit-image
Downloading http://mirrors.aliyun.com/pypi/packages/65/69/27a1d55ce8f77c8ac757938707105b1070ff4f2ae47d2dc99461bfae4491/scikit_image-0.13.0-cp27-cp27m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl (28.1MB)
100% |████████████████████████████████| 28.1MB 380kB/s
Collecting h5py
Downloading http://mirrors.aliyun.com/pypi/packages/b7/cc/1c29b0815b12de2c92b5323cad60f724ac8f0e39d0166d0b9dfacbcb70dd/h5py-2.7.0-cp27-cp27m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl (4.5MB)
100% |████████████████████████████████| 4.5MB 503kB/s
Requirement already satisfied: keras in /Library/Python/2.7/site-packages
Requirement already satisfied: pygame in /Library/Python/2.7/site-packages
Requirement already satisfied: matplotlib>=1.3.1 in /System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python (from scikit-image)
Requirement already satisfied: six>=1.7.3 in /Library/Python/2.7/site-packages (from scikit-image)
Requirement already satisfied: pillow>=2.1.0 in /Library/Python/2.7/site-packages (from scikit-image)
Requirement already satisfied: networkx>=1.8 in /Library/Python/2.7/site-packages (from scikit-image)
Requirement already satisfied: PyWavelets>=0.4.0 in /Library/Python/2.7/site-packages (from scikit-image)
Collecting scipy>=0.17.0 (from scikit-image)
Downloading http://mirrors.aliyun.com/pypi/packages/72/eb/d398b9f63ee936575edc62520477d6c2353ed013bacd656bd0c8bc1d0fa7/scipy-0.19.0-cp27-cp27m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl (16.2MB)
100% |████████████████████████████████| 16.2MB 990kB/s
Requirement already satisfied: numpy>=1.7 in /Library/Python/2.7/site-packages (from h5py)
Requirement already satisfied: theano in /Library/Python/2.7/site-packages (from keras)
Requirement already satisfied: pyyaml in /Library/Python/2.7/site-packages (from keras)
Requirement already satisfied: python-dateutil in /System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python (from matplotlib>=1.3.1->scikit-image)
Requirement already satisfied: tornado in /Library/Python/2.7/site-packages (from matplotlib>=1.3.1->scikit-image)
Requirement already satisfied: pyparsing>=1.5.6 in /Users/qiuwei/Library/Python/2.7/lib/python/site-packages (from matplotlib>=1.3.1->scikit-image)
Requirement already satisfied: nose in /Library/Python/2.7/site-packages (from matplotlib>=1.3.1->scikit-image)
Requirement already satisfied: olefile in /Library/Python/2.7/site-packages (from pillow>=2.1.0->scikit-image)
Requirement already satisfied: decorator>=3.4.0 in /Library/Python/2.7/site-packages (from networkx>=1.8->scikit-image)
Requirement already satisfied: singledispatch in /Library/Python/2.7/site-packages (from tornado->matplotlib>=1.3.1->scikit-image)
Requirement already satisfied: certifi in /Library/Python/2.7/site-packages (from tornado->matplotlib>=1.3.1->scikit-image)
Requirement already satisfied: backports_abc>=0.4 in /Library/Python/2.7/site-packages (from tornado->matplotlib>=1.3.1->scikit-image)
Installing collected packages: scipy, scikit-image, h5py
Successfully installed h5py-2.7.0 scikit-image-0.13.0 scipy-0.19.0
J'espère que cela aidera quelqu'un qui rencontre un problème similaire!
pip install --user package_name
pour installer un package qui devrait inclure les exécutables CLI.import package_name
lib/python/...
apparaît dans la sortie et remplacez le tout par bin
$HOME/Library/Python/2.7/bin
En raison de la nouvelle protection de l'intégrité du système dans macOS 10.11 El Capitan, vous ne pouvez plus Sudo pip install
. Nous ne discuterons pas des avantages de cela ici.
Une autre réponse explique que vous devriez pip install --user
qui est correct. Mais ils vous ont envoyé dans les ruelles pour savoir quoi faire avec votre $PATH
afin que vous puissiez avoir accès aux exécutables installés. Heureusement, j'ai déjà résolu un besoin similaire pour une question non liée .
Voici une transcription de la façon dont j'ai résolu le problème sur l'un de mes systèmes. J'inclus tout cela plutôt que le $PATH
qui a fonctionné pour moi, car votre système peut être différent du mien. Ce processus devrait fonctionner pour tout le monde.
$ pip install --user jp
Collecting jp
Downloading jp-0.2.4.tar.gz
Installing collected packages: jp
Running setup.py install for jp ... done
Successfully installed jp-0.2.4
$ python -c 'import jp; print jp'
<module 'jp' from '/Users/bbronosky/Library/Python/2.7/lib/python/site-packages/jp/__init__.pyc'>
$ find /Users/bbronosky/Library/Python -type f -perm -100
/Users/bbronosky/Library/Python/2.7/bin/jp
$ which jp
$ echo -e '\n''export PATH=$HOME/Library/Python/2.7/bin:$PATH' >> ~/.bashrc
$ bash # starting a new bash process for demo, but you should open a new terminal
$ which jp
/Users/bbronosky/Library/Python/2.7/bin/jp
$ jp
usage: jp <expression> <filepath>
Il est difficile de faire travailler pip sur El Capitan pour plusieurs raisons:
/System/Library/
. El Capitan bloque ceci, qui est l'erreur que vous rencontrez. /System/Library/
. pip veut souvent les mettre à niveau mais ne peut pas le faire sur El Capitan. /System/Library/
plus élevé dans l'ordre de recherche python que /Library/Python/2.7/site-packages
(emplacement du paquet python à l'échelle du système). Ainsi, même si vous parvenez à installer des versions plus récentes de certains paquetages, les anciens restent chargés, ce qui rompt certaines dépendances.Il existe des solutions de contournement pour tous ces problèmes à l’adresse https://Apple.stackexchange.com/a/223163/143849 . Mais vous feriez mieux d'installer votre propre version de Python via le programme d'installation Python standard, Homebrew ou Anaconda.
Je suppose que vous avez un conflit avec un autre paquet. Pour moi, c'était six
. Vous devez donc utiliser une commande comme celle-ci:
pip install google-api-python-client --upgrade --ignore-installed six
ou
pip install --ignore-installed six
Je suis entièrement d'accord avec Mikko, mais si vous voulez toujours le faire, voici le chemin:
csrutil disable
J'ai installé python 2.7 via breuvage et les solutions suivantes ont résolu mon problème
brasser installer numpy
Est installé python3, mais il fonctionne toujours et le configure pour 2.7 également.
Cela s’est fait pour moi après l’échec de pip install ipython
:
SF55M:~ 278$ Sudo easy_install ipython
Searching for ipython
Best match: ipython 5.4.1
Adding ipython 5.4.1 to easy-install.pth file
Installing ipython script to /usr/local/bin
Installing iptest2 script to /usr/local/bin
Installing iptest script to /usr/local/bin
Installing ipython2 script to /usr/local/bin
Using /Library/Python/2.7/site-packages
Processing dependencies for ipython
Finished processing dependencies for ipython
SF55M:~ 278$ pip install ipython
Requirement already satisfied: ipython in /Library/Python/2.7/site-packages
Requirement already satisfied: Prompt-toolkit<2.0.0,>=1.0.4 in
/Library/Python/2.7/site-packages (from ipython)
Requirement already satisfied: decorator in /Library/Python/2.7/site-
packages (from ipython)
Requirement already satisfied: setuptools>=18.5 in /Library/Python/2.7/site-
packages/setuptools-19.6.1-py2.7.Egg (from ipython)
Requirement already satisfied: pickleshare in /Library/Python/2.7/site-
packages (from ipython)
Requirement already satisfied: pygments in /Library/Python/2.7/site-packages
(from ipython)
Requirement already satisfied: pexpect; sys_platform != "win32" in
/Library/Python/2.7/site-packages (from ipython)
Requirement already satisfied: pathlib2; python_version == "2.7" or
python_version == "3.3" in /Library/Python/2.7/site-packages (from ipython)
Requirement already satisfied: backports.shutil-get-terminal-size;
python_version == "2.7" in /Library/Python/2.7/site-packages (from ipython)
Requirement already satisfied: simplegeneric>0.8 in
/Library/Python/2.7/site-packages (from ipython)
Requirement already satisfied: traitlets>=4.2 in /Library/Python/2.7/site-
packages (from ipython)
Requirement already satisfied: appnope; sys_platform == "darwin" in
/Library/Python/2.7/site-packages (from ipython)
Requirement already satisfied: six>=1.9.0 in /Library/Python/2.7/site-
packages (from Prompt-toolkit<2.0.0,>=1.0.4->ipython)
Requirement already satisfied: wcwidth in /Library/Python/2.7/site-packages
(from Prompt-toolkit<2.0.0,>=1.0.4->ipython)
Requirement already satisfied: ptyprocess>=0.5 in /Library/Python/2.7/site-
packages (from pexpect; sys_platform != "win32"->ipython)
Requirement already satisfied: scandir; python_version < "3.5" in
/Library/Python/2.7/site-packages (from pathlib2; python_version == "2.7" or
python_version == "3.3"->ipython)
Requirement already satisfied: enum34; python_version == "2.7" in
/Library/Python/2.7/site-packages (from traitlets>=4.2->ipython)
Requirement already satisfied: ipython-genutils in /Library/Python/2.7/site-
packages (from traitlets>=4.2->ipython)
SF55M:~ 212580378$ ipython
Python 2.7.10 (default, Feb 7 2017, 00:08:15)
Type "copyright", "credits" or "license" for more information.
IPython 5.4.1 -- An enhanced Interactive Python.
? -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help -> Python's own help system.
object? -> Details about 'object', use 'object??' for extra details.
In [1]:
Do you really want to exit ([y]/n)?
SF55M:~ 278$
Comme toi, j'ai eu le même problème. J'utilise El Capitan et j'essaie d'installer Juypter avec python2.7 Voici comment j'ai pu le faire:
Installez d'abord Juypter (fonctionnerait aussi avec pip3
):
Sudo -H pip install --ignore-installed six --user --install jupiter
Ensuite, vous devez installer le noyau python 2.7, sinon vous ne pourrez utiliser que python3 pour le bloc-notes.
Sudo -H python -m pip install --user --ignore-installed six --upgrade ipykernel
python -m ipykernel install --user
Cela peut être utile pour ceux qui souhaitent conserver l'installation Apple de python2.7 et qui souhaitent utiliser le bloc-notes Jupyter avec python2.7 et python3.
Cela a fonctionné pour moi car j'ai installé python 2 et 3.
brew reinstall python@2