【问题标题】:Running jupyter produces "ModuleNotFoundError: No module named 'six'"运行 jupyter 会产生“ModuleNotFoundError: No module named 'six'”
【发布时间】:2020-11-21 23:10:32
【问题描述】:

我刚刚升级到 OSX 11.0.1。现在,当我尝试运行 jupyter notebook 时,我收到了这个错误:

% jupyter notebook
Traceback (most recent call last):
  File "/usr/local/bin/jupyter-notebook", line 5, in <module>
    from notebook.notebookapp import main
  File "/usr/local/lib/python3.8/site-packages/notebook/notebookapp.py", line 83, in <module>
    from .services.kernels.kernelmanager import MappingKernelManager, AsyncMappingKernelManager
  File "/usr/local/lib/python3.8/site-packages/notebook/services/kernels/kernelmanager.py", line 18, in <module>
    from jupyter_client.session import Session
  File "/usr/local/lib/python3.8/site-packages/jupyter_client/session.py", line 41, in <module>
    from jupyter_client.jsonutil import extract_dates, squash_dates, date_default
  File "/usr/local/lib/python3.8/site-packages/jupyter_client/jsonutil.py", line 10, in <module>
    from dateutil.parser import parse as _dateutil_parse
  File "/usr/local/lib/python3.8/site-packages/dateutil/parser/__init__.py", line 2, in <module>
    from ._parser import parse, parser, parserinfo, ParserError
  File "/usr/local/lib/python3.8/site-packages/dateutil/parser/_parser.py", line 42, in <module>
    import six
ModuleNotFoundError: No module named 'six'

如果我这样做 pip install six 我明白了:

Requirement already satisfied: six in 
   /usr/local/Cellar/protobuf/3.13.0_1/libexec/lib/python3.9/site-packages (1.15.0)

我对此感到很困惑,因为 (a) 我不知道这条路径是什么,并且 (b) 它似乎不在我的 PATHPYTHONPATH 中,所以我不知道为什么 pip 在那里寻找它。

我该怎么办?

供参考:我想我最初是通过 pip 安装 jupyter 的我不知道我是如何安装 jupyter 的,而且我没有使用 anaconda(并且希望继续不这样做)。其他有用的信息:

% type jupyter
jupyter is /usr/local/bin/jupyter
% type python 
python is an alias for /usr/local/bin/python3
% ls -al /usr/local/bin/python3
lrwxr-xr-x  1 me  admin  40 12 Nov 23:12 /usr/local/bin/python3 -> ../Cellar/python@3.9/3.9.0_1/bin/python3

更新:如果我这样做pip list -v,那么我可以看到大多数包都在我期望的位置,除了 protobuf 和六个。我想知道为什么他们在不同的位置?

% pip list -v
Package                 Version   Location                                                                Installer
----------------------- --------- ----------------------------------------------------------------------- ---------
appdirs                 1.4.4     /usr/local/lib/python3.9/site-packages                                  pip
asgiref                 3.3.1     /usr/local/lib/python3.9/site-packages                                  pip
...
protobuf                3.13.0    /usr/local/Cellar/protobuf/3.13.0_1/libexec/lib/python3.9/site-packages
...
six                     1.15.0    /usr/local/Cellar/protobuf/3.13.0_1/libexec/lib/python3.9/site-packages

【问题讨论】:

  • 也许,您使用的是 Homebrew (brew.sh),而您通过 brew 安装的其中一个应用程序有 protobuf 和六个作为依赖项。
  • 谢谢。这绝对是一种可能。你觉得我应该怎么做?
  • 我将从运行 brew cleanup 开始,希望这些包不再有用。如果它失败了,这里是解决方案 (stackoverflow.com/questions/61986682/…)。

标签: python jupyter-notebook


【解决方案1】:

我刚刚遇到了同样的错误(在 OS 11.1 和 py3.8 中)。

然后运行 ​​pip install --ignore-installed six 对我有用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-03-03
    • 2017-12-15
    • 2022-10-13
    • 2019-06-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-27
    相关资源
    最近更新 更多