在同一项目目录中,我有一个文件 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所在的目录中。
答案 0 :(得分:1)
正如伊恩·霍夫(Ian Huff)在评论中提到的那样,由于存在多个级别的目录,因此由VSCode设置的PATH变量不会查看.ipynb文件所在的文件夹,因此引发了问题。它只看顶层。要明确指出文件夹的路径,请在.ipynb的开头添加以下代码:
import sys
sys.path.insert(0, ".")
注意:
您可以相应地更改路径,例如如果您的.py模块位于.ipynb的父文件夹中,请使用“ ..”;如果它在与.ipynb文件的文件夹平行的另一个文件夹中,请使用“ ../ another_dir”。
答案 1 :(得分:0)
您可以使用此
% run "model.py"