相同的笔记本无法导入模块

时间:2018-02-18 19:09:35

标签: python jupyter-notebook

我在两个不同的文件夹中有两个相同的Jupyter笔记本。如果我启动jupyter笔记本电脑并打开其中一个笔记本电脑,并运行单元格:

import example_name

它加载得很好。

如果我在另一个文件夹中打开相同的笔记本并尝试运行相同的文件:

import example_name

我收到错误消息:

ImportError: No module named example_name

有什么可以解释这一点,以及如何在笔记本中将文件路径跟踪到'example_name',它可以正常加载?

1 个答案:

答案 0 :(得分:0)

您正尝试从笔记本所在的目录example_name导入名为./的模块 - 模块 - 名为example_name.py的文件 - 存在于其中一个目录中但是不是另一个。

问题是python sys.path,它告诉python解释器从哪里加载python模块,你可以打印这个目录列表,你应该看到.的一个条目 - 这是当前目录和一堆其他目录。

您可以将example_name.py文件与笔记本一起复制,也可以使用example_name.pysys.path的目录路径添加到sys.path.append('/some/path')

要正确执行此操作,您实际上会在计算机上有一个目录,其中包含笔记本中所需的所有脚本,并将该目录路径添加到PYTHONPATH环境变量中。这样,目录将始终添加到sys.path