Насколько я знаю, нет никакого pythoni c способа структурирования вашего проекта.
Это то, что Кеннет Рейтц рекомендовал в 2013 году, и как я его использую: https://www.kennethreitz.org/essays/repository-structure-and-python.
README.rst
LICENSE
setup.py
requirements.txt
sample/__init__.py
sample/core.py
sample/helpers.py
docs/conf.py
docs/index.rst
tests/test_basic.py
tests/test_advanced.py
Внутри sample
(my_project
в вашем случае) вы можете разделить на категории по своему усмотрению. Например, Utils (общие функции), База данных (чтение, запись), Просмотр (пользовательские команды) и т. Д. c. Это зависит от вашего проекта.
Что касается вызова модулей на одном уровне, вы должны определить их в файле __init__
модуля верхней иерархии, который в данном случае равен sample
.
Например:
__init__
в _ my_project
from sample.core import a_Class
from sample.core import a_function
from sample.core import anything
затем из /test/test_basic.py
вы делаете:
from sample import a_Class
# or import sample
a = a_Class() # use the class from core.py
# or a = sample.a_Class()
Take Посмотрите на репозиторий примеров модулей: https://github.com/navdeep-G/samplemod