Я создал пакет, который имеет следующую структуру:
/data_worker/
.git/
data_worker/
wrappers/
alpha_vantage_wrapper.py
quandl_wrapper.py
wrapper.py
__init__.py
data_worker.py
defined_wrappers.py
mapper.py
tests/
test.py
.gitignore
LICENSE
README.md
requirements.txt
setup.py
test.py
/data_worker/data_worker/data_worker.py
начинается со следующих строк:
from defined_wrappers import wrappers
import mapper
import pandas as pd
import json
import os
DATA_WORKER_DIR = os.path.dirname(os.path.abspath(__file__)) + '/'
class DataWorker:
...
В /tests/test.py
я тестирую запуск пакета из совершенно отдельной директории, как это будет сделано после того, как я pip install
отправлю пакет.
У меня есть следующее:
from data_worker.data_worker import DataWorker
dw = DataWorker()
, который работает нормально со следующей ошибкой:
Traceback (most recent call last):
File "/home/kevin/Documents/data_worker/tests/test.py", line 1, in <module>
from data_worker.data_worker import DataWorker
File "/usr/local/lib/python3.6/dist-packages/data_worker/data_worker.py", line 1, in <module>
from defined_wrappers import wrappers
ModuleNotFoundError: No module named 'defined_wrappers'
Итак, мой вопрос:
Как я могу структурировать импорт моего проекта так, чтобы он мог запускаться без ошибок после установки из PyPI (или из моего каталога tests
)?