从Jupyter Notebook调用外部py模块

时间:2020-01-18 17:57:59

标签: python jupyter-notebook

我有这样的项目结构

enter image description here

我在utils.py中有一些功能要在aNotebook中使用,因此在项目中运行了pip install --editable命令,并将以下内容放在笔记本的第一个单元格中 >

    %load_ext autoreload
    %autoreload 2

我认为应该允许我这样做

    import src.constants
    from src.utils import write_data

    write_data(....)

但是我遇到的一个问题是,constants.py中定义的常数似乎不粘。换句话说,{<1}}中依赖于常量的函数不会在运行时定义。

此外,为了确保常量可用于utils.py中的函数,而无需用户知道他们是必需的,utils.py导入{{ 1}}

我的问题,是否有关于如何将Jupyter笔记本与普通的旧python模块一起使用的入门知识,以便它们都可以驻留在同一项目中?对于一些应该很容易的事情来说,这似乎是很多工作。

编辑:添加MVC和错误

enter image description here

enter image description here

*** src \ utils.py的内容

utils.py

1 个答案:

答案 0 :(得分:0)

我知道了。

import os
import sys
# This adds the project root to the searchpath
sys.path.append(os.path.pardir)

# Then I can use 
from src.utils import test1