我在两个不同的文件夹中有两个相同的Jupyter笔记本。如果我启动jupyter笔记本电脑并打开其中一个笔记本电脑,并运行单元格:
import example_name
它加载得很好。
如果我在另一个文件夹中打开相同的笔记本并尝试运行相同的文件:
import example_name
我收到错误消息:
ImportError: No module named example_name
有什么可以解释这一点,以及如何在笔记本中将文件路径跟踪到'example_name',它可以正常加载?
答案 0 :(得分:0)
您正尝试从笔记本所在的目录example_name
导入名为./
的模块 - 模块 - 名为example_name.py
的文件 - 存在于其中一个目录中但是不是另一个。
问题是python sys.path
,它告诉python解释器从哪里加载python模块,你可以打印这个目录列表,你应该看到.
的一个条目 - 这是当前目录和一堆其他目录。
您可以将example_name.py
文件与笔记本一起复制,也可以使用example_name.py
将sys.path
的目录路径添加到sys.path.append('/some/path')
。
要正确执行此操作,您实际上会在计算机上有一个目录,其中包含笔记本中所需的所有脚本,并将该目录路径添加到PYTHONPATH
环境变量中。这样,目录将始终添加到sys.path
。