首页 > 解决方案 > 运行 jupyter 会产生“ModuleNotFoundError: No module named 'six'”

问题描述

我刚刚升级到 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)它似乎不在我的PATHorPYTHONPATH中,所以我不知道为什么 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 和 6。我想知道为什么他们在不同的位置?

% 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

标签: pythonjupyter-notebook

解决方案


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

跑步pip install --ignore-installed six对我有用。


推荐阅读