Вызов внешних модулей py из ноутбуков jupyter - PullRequest
0 голосов
/ 18 января 2020

У меня есть такая структура проекта

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, похоже, не придерживаются. Другими словами, функции в utils.py, которые зависят от констант , не определяются во время выполнения.

Более того, чтобы гарантировать, что константы доступны для функции в utils.py, не требуя от пользователя знать, что они необходимы, utils.py импортирует constants.py

Мой вопрос , есть учебник для начинающих о том, как использовать ноутбуки Jupyter с простыми старыми python модулями, чтобы оба могли находиться в одном проекте? Это кажется большой работой для чего-то, что должно быть легко.

РЕДАКТИРОВАТЬ: Добавление MVC и ошибка

enter image description here

enter image description here

*** содержимое src \ utils.py

def test1():
    return 'got to the test program'

1 Ответ

0 голосов
/ 22 января 2020

Я понял это.

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...