Установка расширения Jupyter завершилась неудачно: ошибка говорит о том, что 'terminado' не найден, но я должен уже иметь его - PullRequest
0 голосов
/ 08 октября 2019

Я пытался установить расширения jupyter, следуя инструкции здесь .

Первый шаг под названием «Установка пакета python» в инструкции выполнен успешно. Но второй файл под названием «Установить javascript и css файлы» не удался. Я выполнил jupyter contrib nbextension install --user в соответствии с инструкциями, но произошла ошибка.

Ошибка говорит: pkg_resources.DistributionNotFound: The 'terminado>=0.8.1' distribution was not found and is required by notebook. (Все трассировки показаны ниже.) Но я подтвердил, что уже установил пакет 'terminado' v0.8.2, который был установлен через pip.

Как я могу решить эту проблему? Проблема только в том, что команда jupyter не знает, где установлен 'terminado'? Или проблема более серьезная?


Все сообщения об ошибках, как показано ниже:

Traceback (most recent call last):
  File "/usr/local/bin/jupyter-contrib", line 5, in <module>
    from pkg_resources import load_entry_point
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources/__init__.py", line 3241, in <module>
    @_call_aside
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources/__init__.py", line 3225, in _call_aside
    f(*args, **kwargs)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources/__init__.py", line 3254, in _initialize_master_working_set
    working_set = WorkingSet._build_master()
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources/__init__.py", line 583, in _build_master
    ws.require(__requires__)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources/__init__.py", line 900, in require
    needed = self.resolve(parse_requirements(requirements))
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources/__init__.py", line 786, in resolve
    raise DistributionNotFound(req, requirers)
pkg_resources.DistributionNotFound: The 'terminado>=0.8.1' distribution was not found and is required by notebook

Я использую macOS Catalina (но та же проблема появилась в Мохаве.

1 Ответ

0 голосов
/ 12 октября 2019

Сводка

Проблема заключается в том, что, как можно увидеть из сообщения об ошибке, команда jupyter contrib использует python2, а не python3, что является моим предпочтением.

Проблема

Использование команды python2 было вызвано файлом /usr/local/bin/jupyter-contrib. Shebang был #!/usr/bin/python, что означает, что он указал jupyter-contrib используемый интерпретатор python, который расположен на /usr/bin/python, который является python2 на моей машине (и, возможно, на многих других машинах Mac). Следовательно, вы должны указывать python3 с помощью shebang, а не python2.

Решение

  1. Сначала получите ваш путь установки python3 следующим образом:

    $ which python3

    Скопируйте возвращенный путь.

  2. Откройте файл /usr/local/bin/jupyter-contrib. Обратите внимание, что этот файл предназначен только для чтения, но вы должны переписать его, поэтому вы должны открыть его с помощью sudo:

    $ sudo vim /usr/local/bin/jupyter-contrib

  3. Переписать shebang на1-я строка. Теперь Shebang может выглядеть так:

    #!/usr/bin/python

    , где он указывает python2 в качестве интерпретатора. Вам следует переписать путь к пути python3, который вы скопировали на шаге 1:

    #!{{Paste your python3's path}}

  4. Сохранить файл.

Вот и все. Теперь jupyter-contrib использует python3. Так что jupyter contrib nbextension install --user команда должна быть успешной.

...