Một gói là một thư mục với một __init__.py
trong đó. Sự khác biệt từ một thư mục là bạn có thể nhập nó.
Không có "cách Python" mỗi se, nhưng bạn sẽ thấy rằng nên đặt tất cả các mô-đun của mình vào một gói với một tên liên quan đến dự án.
Ngoài ra, để làm theo hướng dẫn kiểu Python, PEP8, tên gói và tên mô-đun phải là chữ thường. Vì vậy, nếu chúng tôi giả định dự án có tên là "Botond Statistics" thì cấu trúc của bạn sẽ giống như thế này:
botondstats/
indicators/
moving_averages.py
stochastics.py
strategies/
moving_averages_cross.py
example.py
Sau đó, bạn sẽ tìm thấy lớp học Stochatics bằng cách làm
from botondstats.indicators.stochastics.Stochastics
(Có nhiều cách khác nhau để giữ cấu trúc nhưng làm cho nhập khẩu ngắn hơn, nhưng đó là một câu hỏi khác).
Bạn có thể đặt cấu trúc này bên dưới src/
nếu bạn muốn, nhưng nó không cần thiết. Tôi chưa bao giờ làm. Thay vào đó tôi có một thư mục chính:
BotondStatistics/
docs/
botonstats/ # the above structure
setup.py # Distutils/distribute configuration for packaging.
Trong thư mục này tôi cũng thường có một virtualenv vì vậy tôi thực sự cũng có bin / lib / et al. Phát triển thường được thực hiện bằng cách chạy
./bin/python setup.py tests
Khi tôi sử dụng trình chạy thử Distrubute để chạy thử nghiệm.
Đó là cách tôi làm điều đó. :-)