当前位置: 首页 > 知识库问答 >
问题:

在Jupyter笔记本中导入本地模块

平元明
2023-03-14

我想将一些通用功能外包给一个模块中的多个笔记本电脑(也用于测试目的)。当前目录结构如下所示

jupyter/
├─ notebooks/
│  ├─ 01 Notebook 1.ipynb
│  ├─ ...
├─ src/
│  ├─ module_a/
│  │  ├─ __init__.py
│  │  ├─ func_a.py
│  ├─ module_b/...
├─ tests/...
├─ data/...
├─ .../

func_a.py中,有一个简单的函数defprint_a():print('a')

然而,当我想导入和使用module_a01笔记本1.ipynb通过使用(我认为有意义的)

from .. src.module_a import print_a

我得到一个导入错误:尝试在没有已知父包的情况下进行相对导入。我做错了什么?我正在使用Python 3.9。

共有1个答案

东郭瀚玥
2023-03-14

我会尝试将src目录附加到系统路径,如下所示:

import sys
sys.path.append("/path/to/your/src")

from src.module_a import a

请注意,您可以使用笔记本根目录的相对路径,而不是上面示例中的绝对路径,因此:

sys.path.append("src")

应该也行

 类似资料:
  • C:\users\user\appdata\local\programs\python\python37\lib\site-packages\scipy__init__.py在154#中,这使得“from scipy import fft”返回scipy.fft,而不是np.fft 155 del fft-->156 from。导入fft C:\users\user\appdata\local\p

  • 我有以下包(和工作目录): 在我有: 如果我尝试将MyPackage导入我的笔记本: 我将获取< code>ModuleNotFoundError:没有名为“module1”的模块。但是,如果我在笔记本之外执行脚本,导入就可以正常工作:如果我在同一个目录中创建< code>test.py并在笔记本中执行相同的操作,导入就可以正常工作。如果我在< code>__init__中使用完全限定名,它将在笔

  • 我已经安装了Keras和TensorFlow GPU,但当我尝试将这些库导入Jupiter笔记本时,出现了一个错误 下面是使用conda list的库,下面是jupyter显示给我的错误: ModuleNotFoundError Traceback(最近的调用最后)在---- ModuleNotFoundError:没有名为keras的模块 我在蟒蛇环境中尝试这个: pip3安装keras 要求已

  • 我一直试图在Jupyter笔记本上显示gif,但遇到了一些麻烦。我一直得到一个空白的图像文件。 我已经尝试使用这个GitHub存储库中的html。 而且 以上这些到目前为止都没有奏效。 谢谢

  • 问题内容: 我正在研究Jupyter Notebook,并希望通过使用Google GPU使其运行更快。我已经进行了一些研究并找到了解决方案,但是它对我没有用。 解决方案是: “最简单的方法是使用Connect to Local Runtime, 然后选择硬件加速器作为GPU,如Google Colab Free GPU Tutorial中所示 。” 我确实设法将googe colab连接到jup

  • 我有一些问题在python导入。我不太明白为什么会有错误。 我使用jupyter笔记本从目录笔记本。我需要导入函数位于 对于导入,我尝试使用 正如这里https://docs.python.org/3/reference/import.html(第5.7段)和python显示我一个错误试图相对导入超过顶级包。 包