当前位置: 首页 > 知识库问答 >
问题:

jupyter笔记本无法识别任何内核,尤其是为其虚拟环境选择的内核[复制]

纪辰沛
2023-03-14

我花了几天时间来解决conda的python虚拟环境无法识别它们周围构建的内核的问题。这个问题表现为Spyder和Jupyter笔记本都无法从有效的内核开始。下面是一个为内核3.8.10构建的conda环境的例子,该环境专门运行pymc3(每个pymc3环境要求),以及它是如何在jupyter-笔记本中失败的,jupyter-笔记本也专门选择并安装在该环境中。

我唯一确定的是:错误信息完全是误导。win3api dll似乎与实际问题无关

有人认识这个吗?有什么调整能让我走吗?或者这是另一个撕裂并重新安装Anaconda3的案例?这是一个熟悉的副歌。

##########################

Failed to start the kernel
Unhandled error

Traceback (most recent call last):
  File "C:\Users\Peter\AppData\Roaming\Python\Python38\site-packages\tornado\web.py", line 1704, in _execute
    result = await result
  File "C:\Users\Peter\AppData\Roaming\Python\Python38\site-packages\tornado\gen.py", line 769, in run
    yielded = self.gen.throw(*exc_info)  # type: ignore
  File "C:\Users\Peter\anaconda3\lib\site-packages\notebook\services\sessions\handlers.py", line 69, in post
    model = yield maybe_future(
  File "C:\Users\Peter\AppData\Roaming\Python\Python38\site-packages\tornado\gen.py", line 762, in run
    value = future.result()
  File "C:\Users\Peter\AppData\Roaming\Python\Python38\site-packages\tornado\gen.py", line 769, in run
    yielded = self.gen.throw(*exc_info)  # type: ignore
  File "C:\Users\Peter\anaconda3\lib\site-packages\notebook\services\sessions\sessionmanager.py", line 88, in create_session
    kernel_id = yield self.start_kernel_for_session(session_id, path, name, type, kernel_name)
  File "C:\Users\Peter\AppData\Roaming\Python\Python38\site-packages\tornado\gen.py", line 762, in run
    value = future.result()
  File "C:\Users\Peter\AppData\Roaming\Python\Python38\site-packages\tornado\gen.py", line 769, in run
    yielded = self.gen.throw(*exc_info)  # type: ignore
  File "C:\Users\Peter\anaconda3\lib\site-packages\notebook\services\sessions\sessionmanager.py", line 100, in start_kernel_for_session
    kernel_id = yield maybe_future(
  File "C:\Users\Peter\AppData\Roaming\Python\Python38\site-packages\tornado\gen.py", line 762, in run
    value = future.result()
  File "C:\Users\Peter\anaconda3\lib\site-packages\notebook\services\kernels\kernelmanager.py", line 176, in start_kernel
    kernel_id = await maybe_future(self.pinned_superclass.start_kernel(self, **kwargs))
  File "C:\Users\Peter\AppData\Roaming\Python\Python38\site-packages\jupyter_client\multikernelmanager.py", line 186, in start_kernel
    km.start_kernel(**kwargs)
  File "C:\Users\Peter\AppData\Roaming\Python\Python38\site-packages\jupyter_client\manager.py", line 337, in start_kernel
    kernel_cmd, kw = self.pre_start_kernel(**kw)
  File "C:\Users\Peter\AppData\Roaming\Python\Python38\site-packages\jupyter_client\manager.py", line 286, in pre_start_kernel
    self.write_connection_file()
  File "C:\Users\Peter\AppData\Roaming\Python\Python38\site-packages\jupyter_client\connect.py", line 466, in write_connection_file
    self.connection_file, cfg = write_connection_file(self.connection_file,
  File "C:\Users\Peter\AppData\Roaming\Python\Python38\site-packages\jupyter_client\connect.py", line 136, in write_connection_file
    with secure_write(fname) as f:
  File "C:\Users\Peter\anaconda3\lib\contextlib.py", line 113, in __enter__
    return next(self.gen)
  File "C:\Users\Peter\AppData\Roaming\Python\Python38\site-packages\jupyter_core\paths.py", line 461, in secure_write
    win32_restrict_file_to_user(fname)
  File "C:\Users\Peter\AppData\Roaming\Python\Python38\site-packages\jupyter_core\paths.py", line 387, in win32_restrict_file_to_user
    import win32api
ImportError: DLL load failed while importing win32api: The specified procedure could not be found.
​```

共有1个答案

程祺
2023-03-14

首先,确保使用conda activate myenv

接下来,安装为Jupyter提供IPython内核的ipykernel:

pip install --user ipykernel

接下来,您可以通过键入以下内容将虚拟环境添加到Jupyter:

python -m ipykernel install --user --name=myenv

应打印以下内容:

Installed kernelspec myenv in /home/user/.local/share/jupyter/kernels/myenv

在这个文件夹中,您将找到一个kernel.json文件,如果您正确地完成了所有操作,该文件应如下所示:

{
"argv": [
     "/home/user/anaconda3/envs/myenv/bin/python",
     "-m",
     "ipykernel_launcher",
     "-f",
     "{connection_file}"
    ],
"display_name": "myenv",
"language": "python"
}

就这样!

 类似资料:
  • 我为不同的Python项目使用不同的conda环境,并且习惯于在Jupyter笔记本中愉快地使用nb_conda_kernels来访问这些环境的内核。它们将在“新”下拉列表中提供,名称类似于“Python[conda env: project]。经过一些更新后,这些内核都没有出现在Jupyter中,当我试图打开一个使用这些内核之一的笔记本时,我得到内核未找到-找不到匹配Python[conda e

  • 所以我试图修复我的Jupyter笔记本(它不允许我导入库),但是,似乎我让事情变得更糟了。现在每当我启动笔记本时,内核就会启动,然后立即消失。我得到的错误如下: 有办法解决这个问题吗?或者我应该进行全面的卸载和重新安装吗?还有,我该怎么做呢?当我执行sudopip卸载jupyter时,它似乎不起作用。

  • 问题内容: 我陷入了某种可怕的virtualenv混乱之中。救命?! 我使用管理环境。直到最近,我还只有一个python2 jupyter笔记本内核,但是我决定将自己的脚步拖入21世纪,并安装了python3内核。我忘记了我是怎么做到的。 我的主要(anaconda)python默认为2.7。 因此,在这里,我很乐意尝试从闪亮的新python3内核中使用漂亮的汤,而且在能够找到其封装的任何环境下,

  • 不能将“virtualenv”识别为内部或外部命令、可操作程序或批处理文件。 我正在遵循的步骤 在默认目录下安装-pip安装virtualenv 要创建一个venv,请运行此virtualenv-p python3 venv 激活virtualenv\Scripts\Activate 它看起来像这样(venv)

  • 问题内容: 我以前在Mac上使用过(python 2和3)。一段时间不使用后,似乎无法解决问题。使用命令从终端启动笔记本时,然后选择我要使用的笔记本,出现错误: 我肯定这与我的Internet连接无关(我尝试了2台连接到不同网络的机器)。 我已经读过浏览器可能是问题所在,因此我已经安装了Chrome和Firefox。但是,当我使用Safari,Chrome和Firefox时出现此错误。 然后我读到

  • 我正在尝试从conda环境加载内核,尝试执行此操作时出现以下错误: 错误是导入错误:DLL加载失败:找不到特定模块我尝试重新安装environment和jupyter,还尝试使用和重新安装pyzmq。我运行默认内核没有问题。