【问题标题】:running "jupyter notebook" in virtualenv returning AttributeError在 virtualenv 中运行“jupyter notebook”返回 AttributeError
【发布时间】:2026-02-19 13:25:01
【问题描述】:

我在 python3 的 virtualenv 中使用 pip 安装了 jupyter。运行时:

jupyter notebook

我收到以下错误

    File "<path>/ss/bin/jupyter-notebook", line 7, in <module>
    from notebook.notebookapp import main
  File "<path>/ss/lib/python3.4/site-packages/notebook/notebookapp.py", line 44, in <module>
    from zmq.eventloop import ioloop
  File "<path>/ss/lib/python3.4/site-packages/zmq/eventloop/__init__.py", line 3, in <module>
    from zmq.eventloop.ioloop import IOLoop
  File "<path>/ss/lib/python3.4/site-packages/zmq/eventloop/ioloop.py", line 78, in <module>
    while _IOLoop.configurable_default() is not _IOLoop:
  File "<path>/ss/lib/python3.4/site-packages/tornado/ioloop.py", line 350, in configurable_default
    from tornado.platform.asyncio import AsyncIOLoop
  File "<path>/ss/lib/python3.4/site-packages/tornado/platform/asyncio.py", line 25, in <module>
    from tornado.gen import convert_yielded
  File "<path>/ss/lib/python3.4/site-packages/tornado/gen.py", line 1295, in <module>
    _wrap_awaitable = asyncio.ensure_future
AttributeError: 'module' object has no attribute 'ensure_future'

我使用

将每个依赖模块升级到最新版本

--升级

但它仍然给我同样的错误。

【问题讨论】:

    标签: pip jupyter-notebook python-3.4


    【解决方案1】:

    我通过将 tornado 包降级到 4.5 版解决了这个问题:

    pip install tornado==4.5
    

    当我在虚拟环境中使用 pip 安装 ipykernel 时,它会自动安装 tornado 作为最新版本。但是,我认为 python 版本低于 3.4.4 的最新版本龙卷风会导致错误。

    所以,我删除了 tornado 并重新安装了 4.5 版(此版本安装在我的其他虚拟环境中。)

    【讨论】:

      最近更新 更多