![](/img/trans.png)
[英]ModuleNotFoundError: No module named 'pandas' in Jupyter Notebooks
[英]ModuleNotFoundError: No module named... Jupyter Notebooks
dev是我的根目录。 我有以下文件。
dev\sitehealthcheck\test.py
dev\sitehealthcheck\draw.py
在test.py中,第一行内容如下:
from sitehealthcheck.draw import *
如果我在 VSCode 终端中运行test.py ,一切都会按预期进行。 但是,当我尝试在交互式 window 中执行test.py时,Jupyter 返回:
ModuleNotFoundError:没有名为“sitehealthcheck”的模块
我该怎么做才能使 VSCode 自动在与我正在执行的文件相同的目录中搜索模块?
我宁愿只输入以下行.. 并让 VSCode 编辑器/Intellisense 和 Jupyter 自动搜索与我正在执行的文件相同的目录中的模块。
from draw import *
为了支持现有答案,当使用子文件夹中的笔记本和兄弟文件夹中的模块时,您需要将jupyter.notebookFileRoot
行添加到工作区中的settings.json
文件中:
.vscode/settings.json
:
{
"python.pythonPath": "env/bin/python",
"jupyter.notebookFileRoot": "${workspaceFolder}"
}
要解决此问题,您可以在 Python 扩展中搜索名为“Python › Data Science: Notebook File Root”的设置。 此设置标题下方的行说:“为 Python 交互窗口设置加载文件的根目录。”。 然后将 ${workspaceFolder} 更改为 ${fileDirname},关闭交互式 Python 终端并重新启动它,它应该可以工作了。
对于交互式窗口,当前工作目录未设置为正在执行的文件的路径,而是设置为您在 VSCode 中打开的工作区文件夹的路径。 如果我有以下情况:
WorkspaceFolder:
SubFolder:
MyScript.py
ImportMe.py
如果你在终端中运行MyScript.py
你会想要这个:
from importme import * since the file location is added to the path
但是,如果您使用的是交互式窗口,您可以按照上面的建议添加到您的PythonPath
。 或者你可以使用这个:
from SubFolder.importme import *
由于 CWD 设置为交互式窗口会话的工作区根目录。
如果将.../dev/sitehealthcheck
添加到PYTHONPATH
,则可以import draw
。
如果 jupyter 笔记本出错
pip install import-ipynb
导入 import_ipynb
先导入
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.