【发布时间】:2021-07-01 08:44:39
【问题描述】:
我在我的工作文件夹和一个 jupyter notebook 中创建了一个虚拟环境,但我的 jupyter notebook 似乎没有连接到 Python。
我通过运行以下命令在此目录(C:\Users\MyName\Documents\DataScience\Code)中创建了一个虚拟环境:
pip install virtualenv
virtualenv .venv
.venv\Scripts\activate
然后,我安装了以下两个包。
pip install jupyter
pip install jupyterlab
安装 jupyter 后,我通过在命令提示符下键入“jupyter notebook”打开了 jupyter notebook,它可以工作。当我输入“Jupyter Notebook”时,会弹出浏览器。但是,如果我尝试通过单击“新建”下拉菜单并选择“Python 3”在 jupyter 浏览器中创建一个新笔记本,则会出现错误。它让我打开了一个新笔记本,但它引发了内核错误。它仍然在右上角显示 Python 3 (ipykernel),但带有一个看起来像炸弹图标的黑点。
通常,当我创建一个新的 jupyter 笔记本时,它只会显示没有 ipykernel 的 Python 3。我试过“pip(或 conda)安装 pywin32”,但没有用。如何解决此错误并将我的笔记本连接到 Python?我的电脑上有 Python3.8,想将 jupyter notebook 连接到没有 ipykernel 的常规 Python 3。
仅供参考,这是我在单击内核错误时看到的错误消息。
Traceback (most recent call last):
File "c:\users\MyName\Documents\DataScience\Code\.venv\lib\site-packages\tornado\web.py", line 1704, in _execute
result = await result
File "c:\users\MyName\Documents\DataScience\Code\.venv\lib\site-packages\tornado\gen.py", line 769, in run
yielded = self.gen.throw(*exc_info) # type: ignore
File "c:\users\MyName\Documents\DataScience\Code\.venv\lib\site-packages\notebook\services\sessions\handlers.py", line 69, in post
model = yield maybe_future(
File "c:\users\MyName\Documents\DataScience\Code\.venv\lib\site-packages\tornado\gen.py", line 762, in run
value = future.result()
File "c:\users\MyName\Documents\DataScience\Code\.venv\lib\site-packages\tornado\gen.py", line 769, in run
yielded = self.gen.throw(*exc_info) # type: ignore
File "c:\users\MyName\Documents\DataScience\Code\.venv\lib\site-packages\notebook\services\sessions\sessionmanager.py", line 98, in create_session
kernel_id = yield self.start_kernel_for_session(session_id, path, name, type, kernel_name)
File "c:\users\MyName\Documents\DataScience\Code\.venv\lib\site-packages\tornado\gen.py", line 762, in run
value = future.result()
File "c:\users\MyName\Documents\DataScience\Code\.venv\lib\site-packages\tornado\gen.py", line 769, in run
yielded = self.gen.throw(*exc_info) # type: ignore
File "c:\users\MyName\Documents\DataScience\Code\.venv\lib\site-packages\notebook\services\sessions\sessionmanager.py", line 110, in start_kernel_for_session
kernel_id = yield maybe_future(
File "c:\users\MyName\Documents\DataScience\Code\.venv\lib\site-packages\tornado\gen.py", line 762, in run
value = future.result()
File "c:\users\MyName\Documents\DataScience\Code\.venv\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\MyName\Documents\DataScience\Code\.venv\lib\site-packages\jupyter_client\multikernelmanager.py", line 186, in start_kernel
km.start_kernel(**kwargs)
File "c:\users\MyName\Documents\DataScience\Code\.venv\lib\site-packages\jupyter_client\manager.py", line 337, in start_kernel
kernel_cmd, kw = self.pre_start_kernel(**kw)
File "c:\users\MyName\Documents\DataScience\Code\.venv\lib\site-packages\jupyter_client\manager.py", line 286, in pre_start_kernel
self.write_connection_file()
File "c:\users\MyName\Documents\DataScience\Code\.venv\lib\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\MyName\Documents\DataScience\Code\.venv\lib\site-packages\jupyter_client\connect.py", line 136, in write_connection_file
with secure_write(fname) as f:
File "c:\users\MyName\anaconda3\lib\contextlib.py", line 113, in __enter__
return next(self.gen)
File "c:\users\MyName\Documents\DataScience\Code\.venv\lib\site-packages\jupyter_core\paths.py", line 461, in secure_write
win32_restrict_file_to_user(fname)
File "c:\users\MyName\Documents\DataScience\Code\.venv\lib\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.
谢谢。
【问题讨论】:
-
试试这个[试试这个,这可能对你有帮助](stackoverflow.com/questions/58612306/…)
标签: python python-3.x jupyter-notebook