0

我尝试按照此处的说明安装 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 命令不知道“终端”的安装位置吗?还是问题更严重?


所有的错误信息如下:

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(但同样的问题出现在 Mojave。

4

1 回答 1

0

概括

问题是,看到错误消息可能会证明该jupyter contrib命令使用的是 python2,而不是我的偏好的 python3。

问题

该命令对python2的使用是由/usr/local/bin/jupyter-contrib文件的shebang引起的。shebang was #!/usr/bin/python,这意味着它指定了jupyter-contrib使用的python解释器,它位于/usr/bin/python我的机器上的python2(可能还有许多其他Mac机器)。因此,您应该使用 shebang 而不是 python2 指定 python3。

解决方案

  1. 首先,获取您的 python3 安装路径,如下所示:

    $ which python3

    复制返回的路径。

  2. 打开/usr/local/bin/jupyter-contrib文件。请注意,此文件是只读的,但您必须重写它,因此您应该使用以下命令打开它sudo

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

  3. 重写第一行的shebang。Shebang现在可能是这样的:

    #!/usr/bin/python

    它指定 python2 作为它的解释器。您应该将路径重写为您在步骤 1 中复制的 python3 路径:

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

  4. 保存文件。

而已。现在jupyter-contrib使用python3。所以jupyter contrib nbextension install --user命令应该成功。

于 2019-10-12T09:18:52.907 回答