在Jupyter notebook中开启虚拟环境失败

本文记录了一个在使用Jupyter Notebook时遇到的小错误,当尝试在一个未安装Jupyter的虚拟环境中运行时,会出现DLL加载失败的问题。文章详细展示了错误的堆栈跟踪,并提供了简单的解决方案:在虚拟环境中安装Jupyter。

记录一个小错误

报错如下:

[I 21:22:17.778 NotebookApp] JupyterLab extension loaded from E:\anaconda3\lib\site-packages\jupyterlab
[I 21:22:17.778 NotebookApp] JupyterLab application directory is E:\anaconda3\share\jupyter\lab
[I 21:22:17.780 NotebookApp] Serving notebooks from local directory: E:\Jupyter Notebook\Jupyter Notebook Project
[I 21:22:17.780 NotebookApp] Jupyter Notebook 6.1.4 is running at:
[I 21:22:17.780 NotebookApp] http://localhost:8888/?token=3cb9a7687c473ee862637a014fe6f55f4a295c38ef58c258
[I 21:22:17.781 NotebookApp]  or http://127.0.0.1:8888/?token=3cb9a7687c473ee862637a014fe6f55f4a295c38ef58c258
[I 21:22:17.781 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
[C 21:22:17.867 NotebookApp]

    To access the notebook, open this file in a browser:
        file:///C:/Users/FuJianping/AppData/Roaming/jupyter/runtime/nbserver-5660-open.html
    Or copy and paste one of these URLs:
        http://localhost:8888/?token=3cb9a7687c473ee862637a014fe6f55f4a295c38ef58c258
     or http://127.0.0.1:8888/?token=3cb9a7687c473ee862637a014fe6f55f4a295c38ef58c258
[W 21:22:29.764 NotebookApp] delete /Untitled1.ipynb
[I 21:22:36.824 NotebookApp] Creating new notebook in
[I 21:22:37.818 NotebookApp] Kernel started: eeda6917-29fc-40d2-9349-8ced768eb766, name: tf_keras
Traceback (most recent call last):
  File "E:\anaconda3\envs\tf_keras\lib\runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "E:\anaconda3\envs\tf_keras\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "E:\anaconda3\envs\tf_keras\lib\site-packages\ipykernel_launcher.py", line 15, in <module>
    from ipykernel import kernelapp as app
  File "E:\anaconda3\envs\tf_keras\lib\site-packages\ipykernel\__init__.py", line 2, in <module>
    from .connect import *
  File "E:\anaconda3\envs\tf_keras\lib\site-packages\ipykernel\connect.py", line 18, in <module>
    import jupyter_client
  File "E:\anaconda3\envs\tf_keras\lib\site-packages\jupyter_client\__init__.py", line 4, in <module>
    from .connect import *
  File "E:\anaconda3\envs\tf_keras\lib\site-packages\jupyter_client\connect.py", line 21, in <module>
    import zmq
  File "E:\anaconda3\envs\tf_keras\lib\site-packages\zmq\__init__.py", line 55, in <module>
    from zmq import backend
  File "E:\anaconda3\envs\tf_keras\lib\site-packages\zmq\backend\__init__.py", line 40, in <module>
    reraise(*exc_info)
  File "E:\anaconda3\envs\tf_keras\lib\site-packages\zmq\utils\sixcerpt.py", line 34, in reraise
    raise value
  File "E:\anaconda3\envs\tf_keras\lib\site-packages\zmq\backend\__init__.py", line 27, in <module>
    _ns = select_backend(first)
  File "E:\anaconda3\envs\tf_keras\lib\site-packages\zmq\backend\select.py", line 28, in select_backend
    mod = __import__(name, fromlist=public_api)
  File "E:\anaconda3\envs\tf_keras\lib\site-packages\zmq\backend\cython\__init__.py", line 6, in <module>
    from . import (constants, error, message, context,
ImportError: DLL load failed: 找不到指定的模块。
[I 21:22:40.821 NotebookApp] KernelRestarter: restarting kernel (1/5), new random ports
Traceback (most recent call last):
  File "E:\anaconda3\envs\tf_keras\lib\runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "E:\anaconda3\envs\tf_keras\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "E:\anaconda3\envs\tf_keras\lib\site-packages\ipykernel_launcher.py", line 15, in <module>
    from ipykernel import kernelapp as app
  File "E:\anaconda3\envs\tf_keras\lib\site-packages\ipykernel\__init__.py", line 2, in <module>
    from .connect import *
  File "E:\anaconda3\envs\tf_keras\lib\site-packages\ipykernel\connect.py", line 18, in <module>
    import jupyter_client
  File "E:\anaconda3\envs\tf_keras\lib\site-packages\jupyter_client\__init__.py", line 4, in <module>
    from .connect import *
  File "E:\anaconda3\envs\tf_keras\lib\site-packages\jupyter_client\connect.py", line 21, in <module>
    import zmq
  File "E:\anaconda3\envs\tf_keras\lib\site-packages\zmq\__init__.py", line 55, in <module>
    from zmq import backend
  File "E:\anaconda3\envs\tf_keras\lib\site-packages\zmq\backend\__init__.py", line 40, in <module>
    reraise(*exc_info)
  File "E:\anaconda3\envs\tf_keras\lib\site-packages\zmq\utils\sixcerpt.py", line 34, in reraise
    raise value
  File "E:\anaconda3\envs\tf_keras\lib\site-packages\zmq\backend\__init__.py", line 27, in <module>
    _ns = select_backend(first)
  File "E:\anaconda3\envs\tf_keras\lib\site-packages\zmq\backend\select.py", line 28, in select_backend
    mod = __import__(name, fromlist=public_api)
  File "E:\anaconda3\envs\tf_keras\lib\site-packages\zmq\backend\cython\__init__.py", line 6, in <module>
    from . import (constants, error, message, context,
ImportError: DLL load failed: 找不到指定的模块。
[I 21:22:43.838 NotebookApp] KernelRestarter: restarting kernel (2/5), new random ports
Traceback (most recent call last):
  File "E:\anaconda3\envs\tf_keras\lib\runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "E:\anaconda3\envs\tf_keras\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "E:\anaconda3\envs\tf_keras\lib\site-packages\ipykernel_launcher.py", line 15, in <module>
    from ipykernel import kernelapp as app
  File "E:\anaconda3\envs\tf_keras\lib\site-packages\ipykernel\__init__.py", line 2, in <module>
    from .connect import *
  File "E:\anaconda3\envs\tf_keras\lib\site-packages\ipykernel\connect.py", line 18, in <module>
    import jupyter_client
  File "E:\anaconda3\envs\tf_keras\lib\site-packages\jupyter_client\__init__.py", line 4, in <module>
    from .connect import *
  File "E:\anaconda3\envs\tf_keras\lib\site-packages\jupyter_client\connect.py", line 21, in <module>
    import zmq
  File "E:\anaconda3\envs\tf_keras\lib\site-packages\zmq\__init__.py", line 55, in <module>
    from zmq import backend
  File "E:\anaconda3\envs\tf_keras\lib\site-packages\zmq\backend\__init__.py", line 40, in <module>
    reraise(*exc_info)
  File "E:\anaconda3\envs\tf_keras\lib\site-packages\zmq\utils\sixcerpt.py", line 34, in reraise
    raise value
  File "E:\anaconda3\envs\tf_keras\lib\site-packages\zmq\backend\__init__.py", line 27, in <module>
    _ns = select_backend(first)
  File "E:\anaconda3\envs\tf_keras\lib\site-packages\zmq\backend\select.py", line 28, in select_backend
    mod = __import__(name, fromlist=public_api)
  File "E:\anaconda3\envs\tf_keras\lib\site-packages\zmq\backend\cython\__init__.py", line 6, in <module>
    from . import (constants, error, message, context,
ImportError: DLL load failed: 找不到指定的模块。
[I 21:22:46.849 NotebookApp] KernelRestarter: restarting kernel (3/5), new random ports
Traceback (most recent call last):
  File "E:\anaconda3\envs\tf_keras\lib\runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "E:\anaconda3\envs\tf_keras\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "E:\anaconda3\envs\tf_keras\lib\site-packages\ipykernel_launcher.py", line 15, in <module>
    from ipykernel import kernelapp as app
  File "E:\anaconda3\envs\tf_keras\lib\site-packages\ipykernel\__init__.py", line 2, in <module>
    from .connect import *
  File "E:\anaconda3\envs\tf_keras\lib\site-packages\ipykernel\connect.py", line 18, in <module>
    import jupyter_client
  File "E:\anaconda3\envs\tf_keras\lib\site-packages\jupyter_client\__init__.py", line 4, in <module>
    from .connect import *
  File "E:\anaconda3\envs\tf_keras\lib\site-packages\jupyter_client\connect.py", line 21, in <module>
    import zmq
  File "E:\anaconda3\envs\tf_keras\lib\site-packages\zmq\__init__.py", line 55, in <module>
    from zmq import backend
  File "E:\anaconda3\envs\tf_keras\lib\site-packages\zmq\backend\__init__.py", line 40, in <module>
    reraise(*exc_info)
  File "E:\anaconda3\envs\tf_keras\lib\site-packages\zmq\utils\sixcerpt.py", line 34, in reraise
    raise value
  File "E:\anaconda3\envs\tf_keras\lib\site-packages\zmq\backend\__init__.py", line 27, in <module>
    _ns = select_backend(first)
  File "E:\anaconda3\envs\tf_keras\lib\site-packages\zmq\backend\select.py", line 28, in select_backend
    mod = __import__(name, fromlist=public_api)
  File "E:\anaconda3\envs\tf_keras\lib\site-packages\zmq\backend\cython\__init__.py", line 6, in <module>
    from . import (constants, error, message, context,
ImportError: DLL load failed: 找不到指定的模块。
[I 21:22:49.860 NotebookApp] KernelRestarter: restarting kernel (4/5), new random ports
Traceback (most recent call last):
  File "E:\anaconda3\envs\tf_keras\lib\runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "E:\anaconda3\envs\tf_keras\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "E:\anaconda3\envs\tf_keras\lib\site-packages\ipykernel_launcher.py", line 15, in <module>
    from ipykernel import kernelapp as app
  File "E:\anaconda3\envs\tf_keras\lib\site-packages\ipykernel\__init__.py", line 2, in <module>
    from .connect import *
  File "E:\anaconda3\envs\tf_keras\lib\site-packages\ipykernel\connect.py", line 18, in <module>
    import jupyter_client
  File "E:\anaconda3\envs\tf_keras\lib\site-packages\jupyter_client\__init__.py", line 4, in <module>
    from .connect import *
  File "E:\anaconda3\envs\tf_keras\lib\site-packages\jupyter_client\connect.py", line 21, in <module>
    import zmq
  File "E:\anaconda3\envs\tf_keras\lib\site-packages\zmq\__init__.py", line 55, in <module>
    from zmq import backend
  File "E:\anaconda3\envs\tf_keras\lib\site-packages\zmq\backend\__init__.py", line 40, in <module>
    reraise(*exc_info)
  File "E:\anaconda3\envs\tf_keras\lib\site-packages\zmq\utils\sixcerpt.py", line 34, in reraise
    raise value
  File "E:\anaconda3\envs\tf_keras\lib\site-packages\zmq\backend\__init__.py", line 27, in <module>
    _ns = select_backend(first)
  File "E:\anaconda3\envs\tf_keras\lib\site-packages\zmq\backend\select.py", line 28, in select_backend
    mod = __import__(name, fromlist=public_api)
  File "E:\anaconda3\envs\tf_keras\lib\site-packages\zmq\backend\cython\__init__.py", line 6, in <module>
    from . import (constants, error, message, context,
ImportError: DLL load failed: 找不到指定的模块。
[W 21:22:52.869 NotebookApp] KernelRestarter: restart failed
[W 21:22:52.869 NotebookApp] Kernel eeda6917-29fc-40d2-9349-8ced768eb766 died, removing from map.
[W 21:23:37.835 NotebookApp] Timeout waiting for kernel_info reply from eeda6917-29fc-40d2-9349-8ced768eb766
[E 21:23:37.836 NotebookApp] Error opening stream: HTTP 404: Not Found (Kernel does not exist: eeda6917-29fc-40d2-9349-8ced768eb766)

 

原因是没有在该虚拟环境中安装 jupyter

所以,解决方法就是在该虚拟环境中输入命令: conda install jupyter

然后回车

会告诉你需要安装一系列的包,y/n,输入 y 并回车即可,

安装完成后,找到电脑“开始”除点击“Anaconda"下的 ”Jupyter Notebook (你的虚拟环境的名称)“并点击即可进入你的虚拟环境中。
 

### Jupyter Notebook 安装失败的新建环境解决方案 在 Python 环境中安装 Jupyter Notebook 遇到失败的情况,通常由以下几个方面引起:环境配置不当、网络连接不稳定、依赖项缺失或版本冲突等问题。以下是针对这些问题的具体分析和解决方法。 #### 1. 检查并确认 Python 环境 确保当前使用的 Python 环境是正确的,并且该环境中已经安装了必要的基础包。如果使用的是 `venv` 或者 `conda` 虚拟环境,则需要激活对应的环境后再执行安装命令[^1]。 例如,在基于 Conda 的环境下可以通过以下方式创建新环境并安装 Jupyter Notebook: ```bash conda create -n myenv python=3.9 conda activate myenv conda install jupyter notebook ``` 对于标准的虚拟环境 (venv),则可以按照如下操作: ```bash python -m venv myenv source myenv/bin/activate # Windows 用户应使用 `myenv\Scripts\activate` pip install --upgrade pip setuptools wheel pip install jupyter notebook ``` #### 2. 处理版本兼容性问题 有时,`pip` 默认会选择最新版的 Jupyter Notebook 进行安装,而此版本可能与系统的其他组件存在不兼容情况。这种情况下,建议查阅官方文档以获取适合当前系统条件的最佳版本号,并手动指定版本进行安装[^2]。例如: ```bash pip install jupyter==7.0.4 ``` #### 3. 添加内核支持至 Jupyter Notebook 即使在一个新的虚拟环境中完成了 Jupyter Notebook 的安装,仍需进一步设置才能让其识别特定环境中的解释器作为可用 kernel。这一步骤可通过安装 `ipykernel` 并注册对应内核来完成[^3][^5]。具体步骤如下: - **安装 ipykernel** ```bash pip install ipykernel ``` - **向 Jupyter 注册当前环境的 Kernel** ```bash python -m ipykernel install --user --name=myenv --display-name "Python (myenv)" ``` 这里,“myenv” 是虚拟环境的名字;“--display-name” 参数定义了在 Jupyter Notebook 中展示给用户的名称。 #### 4. 测试启动 Jupyter Notebook 最后验证一切是否正常工作。运行下面这条指令开启服务[^4]: ```bash jupyter notebook ``` 随后检查默认浏览器是否会弹出界面地址栏指向类似于 `http://localhost:8888/tree` 的链接页面。假如未自动跳转,可手工复制上述 URL 至任意现代网页浏览工具里访问。 --- ### 总结 通过以上措施——校验 Python 工作空间状态、调整软件组合匹配度以及增强多环境交互能力——能够有效缓解乃至彻底消除因新建独立区域所引发的一系列阻碍现象。
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值