Пакет - це каталог, у якому є __init__.py
. Відмінність від каталогу полягає в тому, що ви можете імпортувати його.
Сам по собі не існує "способу Python", але ви виявите, що непогано розмістити всі свої модулі в одному пакеті з ім'ям, пов'язаним з проектом.
Крім того, щоб слідувати керівництву стилем Python, PEP8, імена пакетів та модулів повинні бути малими. Отже, якщо ми припустимо, що проект називається "Статистика Botond", ваша структура буде приблизно такою:
botondstats/
indicators/
moving_averages.py
stochastics.py
strategies/
moving_averages_cross.py
example.py
Тоді ви знайдете клас стохастики, виконуючи
from botondstats.indicators.stochastics.Stochastics
(Існують різні способи зберегти структуру, але скоротити імпорт, але це вже інше питання).
Ви можете підкласти цю структуру, src/
якщо хочете, але це не потрібно. Я ніколи не роблю. Натомість у мене є головний каталог:
BotondStatistics/
docs/
botonstats/
setup.py
У цьому каталозі я також зазвичай маю virtualenv, тому я насправді також маю bin / lib / et al. Розробка зазвичай здійснюється шляхом запуску
./bin/python setup.py tests
Оскільки я використовую Distrubute test runner для запуску тестів.
Ось як я це роблю. :-)