在VSCode中使用.ipynb导入.py

时间:2019-12-15 20:44:57

标签: python visual-studio-code jupyter-notebook

在同一项目目录中,我有一个文件 solution.ipynb ,另一个名为 model.py 。在文件solution.ipynb中,我必须导入模块model.py。

当我使用以下代码时,两个文件都位于同一目录中:

import import_ipynb
import model

我仍然收到错误:ModuleNotFoundError:没有名为“模型”的模块

请注意:我正在使用VSCode打开并在.ipynb文件上进行书写。奇怪的是,当我在Jupyter实验室打开.ipynb文件时,可以毫无问题地导入模块model.py。

我已经尝试过的操作 :( 1)安装import-ipynb并在上面引用它(如代码的第一行所示),(2)添加__init__.py文件.ipynb所在的目录中。

2 个答案:

答案 0 :(得分:1)

正如伊恩·霍夫(Ian Huff)在评论中提到的那样,由于存在多个级别的目录,因此由VSCode设置的PATH变量不会查看.ipynb文件所在的文件夹,因此引发了问题。它只看顶层。要明确指出文件夹的路径,请在.ipynb的开头添加以下代码:

import sys
sys.path.insert(0, ".")

注意:

您可以相应地更改路径,例如如果您的.py模块位于.ipynb的父文件夹中,请使用“ ..”;如果它在与.ipynb文件的文件夹平行的另一个文件夹中,请使用“ ../ another_dir”。

在评论中查看更多信息:https://stackoverflow.com/a/42727538/14237798

答案 1 :(得分:0)

您可以使用此

% run "model.py"