web-dev-qa-db-fra.com

L'installation de Jupyter échoue sur Mac

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?

6
helloB

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).

  1. Python.org - Des développeurs Python eux-mêmes
  2. Homebrew - un gestionnaire de paquets Unixy pour OS X, qui a un paquet Python qui fonctionne normalement
  3. Anaconda Python - Une distribution scientifique de Python, avec de nombreux packages scientifiques 'difficiles à installer' déjà disponibles et 'fonctionnant juste' (y compris jupyter).

Je recommande d'aller avec Anaconda pour l'instant, si vous ne savez pas quoi choisir.

8
Ivo

Ou tu pourrais juste essayer

Sudo pip install -U jupyter --upgrade --ignore-installed six
2
Abhinav Manchanda

Cette commande installera jupyter pour l'utilisateur actuellement connecté, sans rien ignorer:

Sudo pip install --user jupyter
1
Mukesh Chapagain

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

0
D-W