Данные не-Python лучше всего связываются в Ваших модулях Python с помощью эти package_data
поддержка в setuptools. Одна вещь, которую я настоятельно рекомендую, использует пакеты пространства имен для создания совместно использованных пространств имен, которые несколько проектов могут использовать - во многом как соглашение Java помещения пакетов в com.yourcompany.yourproject
(и способность иметь общее com.yourcompany.utils
пространство имен).
ветвление Ре и слияние при использовании достаточно хорошей системы управления исходным кодом она обработает слияния даже через, переименовывает; Базар особенно хорош в этом.
Вопреки некоторым другим ответам здесь, я +1 при наличии src
верхний уровень каталога (с doc
и test
каталоги рядом). Определенные соглашения для деревьев каталогов документации будут варьироваться в зависимости от того, что Вы используете; у Сфинкса , например, есть свои собственные соглашения, которые поддерживает его инструмент быстрого запуска.
, усильте setuptools и pkg_resources; это делает намного легче для других проектов полагаться на определенные версии Вашего кода (и для нескольких версий, которые будут одновременно установлены с различными нефайлами кода, если Вы используете package_data
).
URL должен быть http: // localhost: 8080 /? Testing = abc # pg5 вместо http: // localhost: 8080 / # pg5? Testing = abc