Да, я знаю, что это повторяющийся вопрос, но я все еще не мог найти убедительный ответ. Я даже прочитал на https://chrisyeh96.github.io/2017/08/08/definitive-guide-python-imports.html, но не смог выяснить, как решить проблему:
Я работаю над проектом на python 3.6, который включает в себя блокноты jupyter (ipython). Я хочу, чтобы ноутбук импортировал пользовательский локальный пакет helpers.py
, который я, вероятно, буду использовать позже в других источниках.
Структура проекта похожа на:
my_project/
│
├── my_project/
│ ├── notebooks/
│ └── a_notebook.ipynb
│ ├── __init__.py # suppose to make package `my_project` importable
│ └── helpers.py
│
├── tests/
│ └── helpers_tests.py
│
├── .gitignore
├── LICENSE
├── README.md
├── requirements.txt
└── setup.py
При импорте helpers
в записную книжку выдается ошибка:
----> 4 import helpers
ModuleNotFoundError: No module named 'helpers'
Я также пытался from my_project import helpers
, и я получаю ту же ошибку ModuleNotFoundError: No module named 'my_project'
Я наконец (и временно) использовал обычный трюк:
import sys
sys.path.append('..')
import helpers
Но это выглядит ужасно, и я все еще ищу лучшее решение