2016-03-07 19 views
5

Sto cercando di installare Jupyter sul mio Mac (OS X El Capitan) e sto ottenendo un errore in risposta a:Jupyter installazione fallisce su Mac

sudo pip install -U jupyter 

In un primo momento il download/install inizia bene , ma poi mi imbatto in questo:

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' 

Cosa posso fare per risolvere questo problema?

+0

almeno non basta inserire un ciclo infinito senza uscita:/(caso in punto) –

risposta

8

Il Python predefinito di OS X fornito da El Capitan è sfortunatamente piuttosto mal confezionato (grrr, Apple). Non solo hanno già spedito alcuni pacchetti di terze parti piuttosto strani, ma versioni strane (vecchie) e beta di questi pacchetti. Inoltre, sono pesantemente system protected.

Ciò rende il python predefinito piuttosto non amichevole con cui lavorare (come avete scoperto). Nel tuo caso specifico, juypter vorrebbe installare una versione recente della libreria sei, ma la versione installata del sistema è strana e non permetterà a Pip di aggiornarla (jupyter richiede una versione aggiornata).

In generale, per alleviare tutti i mal di testa futuri, consiglio di ottenere una distribuzione diversa di python e di inserirla nel percorso in modo che sia il nuovo predefinito. Ci sono un paio di scelte; ciò che è importante è usarne solo uno alla volta (altrimenti potrebbero confondersi o confondersi).

  1. Python.org - Dagli sviluppatori Python stessi
  2. Homebrew - un gestore di pacchetti Unixy per OS X, che ha un pacchetto python normalmente funzionante
  3. Anaconda Python - Una distribuzione di pitone scientifica, con molte 'più difficile da -installare 'pacchetti scientifici già disponibili e' appena funzionanti '(incluso jupyter).

Per ora consiglio di andare con Anaconda, se non sai cosa scegliere.

+0

grazie mille per questa risposta approfondita. Mi piace Python e lo uso da più di un anno, ma mi imbatto sempre in questo tipo di problemi. È molto utile avere qualche affermazione sul fatto che il sistema Mac OS non è configurato come potrebbe essere. – helloB

0

Ivo La risposta è corretta: la soluzione migliore è riparare l'installazione Python.Un esempio utilizzando Homebrew (che consiglio vivamente) è al di sotto:

Installare Homebrew:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 
brew update 
brew upgrade 

Installare Python:

brew install python 

o Python 3:

brew install python3 

Aggiornamento/installazione:

pip install --upgrade pip setuptools 

Installare jupyter:

pip install jupyter 

Nota: potrebbe essere necessario utilizzare sudo -H con pip install

0

Oppure si può semplicemente provare

sudo pip install -U jupyter --upgrade --ignore-installed six