J'essaie d'installer Jupyter sur mon Mac (OS X El Capitan) et j'obtiens une erreur en réponse à:
Sudo pip install -U jupyter
Au début, le téléchargement/l’installation a bien commencé, mais j’ai eu le problème suivant:
Installing collected packages: six, singledispatch, certifi, backports-abc, tornado, jupyter-core, pyzmq, jupyter-client, functools32, jsonschema, nbformat, pygments, mistune, MarkupSafe, jinja2, nbconvert, path.py, pickleshare, simplegeneric, setuptools, gnureadline, appnope, ptyprocess, pexpect, ipython, ipykernel, terminado, notebook, ipywidgets, jupyter-console, qtconsole, jupyter
Found existing installation: six 1.4.1
DEPRECATION: Uninstalling a distutils installed project (six) has been deprecated and will be removed in a future version. This is due to the fact that uninstalling a distutils project will only partially uninstall the project.
Uninstalling six-1.4.1:
Exception:
Traceback (most recent call last):
File "/Library/Python/2.7/site-packages/pip/basecommand.py", line 209, in main
status = self.run(options, args)
File "/Library/Python/2.7/site-packages/pip/commands/install.py", line 317, in run
prefix=options.prefix_path,
File "/Library/Python/2.7/site-packages/pip/req/req_set.py", line 726, in install
requirement.uninstall(auto_confirm=True)
File "/Library/Python/2.7/site-packages/pip/req/req_install.py", line 746, in uninstall
paths_to_remove.remove(auto_confirm)
File "/Library/Python/2.7/site-packages/pip/req/req_uninstall.py", line 115, in remove
renames(path, new_path)
File "/Library/Python/2.7/site-packages/pip/utils/__init__.py", line 267, in renames
shutil.move(old, new)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/shutil.py", line 302, in move
copy2(src, real_dst)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/shutil.py", line 131, in copy2
copystat(src, dst)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/shutil.py", line 103, in copystat
os.chflags(dst, st.st_flags)
OSError: [Errno 1] Operation not permitted: '/tmp/pip-ByX5xW-uninstall/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/six-1.4.1-py2.7.Egg-info'
Que puis-je faire pour résoudre ce problème?
Le logiciel Python par défaut fourni par El Capitan avec OS X est malheureusement assez mal empaqueté (grrr, Apple). Non seulement ils ont fourni des paquets tiers plutôt étranges déjà installés, mais des versions étranges (anciennes) et bêta de ces paquets. De plus, ils sont fortement protégés par le système .
Cela rend le python par défaut plutôt inacceptable à faire fonctionner (comme vous l’avez découvert). Dans votre cas particulier, juypter souhaite installer une version récente de la bibliothèque six, mais la version système installée est une version ancienne et étrange et ne permettra pas à pip de le mettre à jour (jupyter nécessite une version mise à jour).
En général, pour atténuer tous les maux de tête à venir, je vous recommande d’obtenir une distribution différente de python et de la placer sur votre chemin afin que ce soit votre nouvelle valeur par défaut. Il y a plusieurs choix. ce qui est important, c'est de n'en utiliser qu'un à la fois (sinon, ils risquent de se confondre ou de vous confondre).
Je recommande d'aller avec Anaconda pour l'instant, si vous ne savez pas quoi choisir.
Ou tu pourrais juste essayer
Sudo pip install -U jupyter --upgrade --ignore-installed six
Cette commande installera jupyter
pour l'utilisateur actuellement connecté, sans rien ignorer:
Sudo pip install --user jupyter
La réponse de Ivo est correcte - la meilleure solution consiste à réparer votre installation Python. Un exemple utilisant Homebrew (que je recommande vivement) est ci-dessous:
Installez Homebrew:
/usr/bin/Ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew update
brew upgrade
Installez Python:
brew install python
ou Python 3:
brew install python3
Mettre à niveau/installer:
pip install --upgrade pip setuptools
Installez jupyter:
pip install jupyter
Remarque: vous devrez peut-être utiliser Sudo -H
avec pip install