2016-03-07 6 views
5

Я пытаюсь установить Jupyter на моем Mac (OS X El Capitan) и я получаю сообщение об ошибке в ответ на:Jupyter установка не будет работать на Mac

sudo pip install -U jupyter 

В первой загрузке/установки начинается мелким , но затем я столкнулся с этим:

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' 

Что мне делать, чтобы исправить это?

+0

по крайней мере, это не просто войти в бесконечный цикл без вывода:/(примерный) –

ответ

8

По умолчанию OS X Python, с которым поставляется El Capitan, к сожалению, довольно плохо взломан (grrr, Apple). Они не только отправили некоторые довольно странные пакеты сторонних поставщиков, которые уже были установлены, но и странные (старые) и бета-версии этих пакетов. Кроме того, они в большой степени system protected.

Это делает по умолчанию python скорее недружественным, чтобы работать с (как вы выяснили). В вашем конкретном случае juypter хотел бы установить последнюю версию шести библиотек, но установленная версия системы является странной старой и не позволит pip обновлять ее (для jupyter требуется обновленная версия).

В общем, чтобы облегчить все будущие головные боли, я рекомендую получить различное распределение python и поместить его на свой путь, чтобы он стал вашим новым значением по умолчанию. Есть несколько вариантов; важно только использовать по одному (в противном случае они склонны смешивать друг друга или путать вас).

  1. Python.org - От разработчиков Python сами
  2. Homebrew - это unixy менеджер пакетов для OS X, который имеет нормально функционирующую питона пакет
  3. Anaconda Python - научный распределение питона, со многими «труднее к «установить» уже имеющиеся научные пакеты и «просто работать» (включая jupyter).

Я рекомендую пойти с Anaconda на данный момент, если вы не знаете, что выбрать.

+0

большое спасибо за этот тщательный ответ. Мне нравится Python и я использую его более года, но я всегда сталкиваюсь с такими проблемами. Очень полезно иметь некоторое подтверждение, что система Mac OS не настроена так хорошо, как могла бы быть. – helloB

0

Ivo ответ правильный - лучшее решение - это ремонт вашей установки python.Пример с использованием Homebrew (который я очень рекомендую) ниже:

Установка Homebrew:

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

Установка Python:

brew install python 

или Python 3:

brew install python3 

Обновление/установка:

pip install --upgrade pip setuptools 

Установка jupyter:

pip install jupyter 

Примечание: Вы, возможно, потребуется использовать sudo -H с pip install

0

Или вы могли бы просто попробовать

sudo pip install -U jupyter --upgrade --ignore-installed six 
Смежные вопросы