У меня есть приложение, которое в настоящее время в следующей структуре папок:Структура с клиентскими и серверными частями
myapp/
client/
core/
server/
template_files/
Она имеет на стороне сервера и на стороне клиента компонент и при развертывании кода пользователю , Я также не хочу включать код на стороне сервера. Оба client
и server
нуждаются в коде core
для запуска.
Чтение о общей структуре проекта Python, я понимаю, что я должен начать с изменением моей структуры:
myapp/
myapp/
client/
core/
server/
template_files/ (template is only needed by the server)
bin/
setup.py
Что лучшим способом структурировать свои каталоги и сделать развертывание коды?
Вы сказали, что вы предложили [неявные пакеты пространства имен] (https://www.python.org/dev/peps/pep-0420/) (Кстати: в каких каталогах мне нужно создать '_ _init __. py'?)? Если нет: как бы вы ссылались (импортировать) модули из пакета 'myapp.core' из модулей, проживающих с пакетом' myapp.server'? Нужно ли создавать [виртуальную среду] (https://virtualenv.pypa.io/en/stable/), чтобы заставить ее работать? –
@ patryk.beza да, вы должны установить пакет в какую-то среду, виртуальная среда является обычной рекомендацией, потому что она предлагает некоторую форму изоляции от остальной системы. Еще один вариант - сделать это на [уровне пользователя] (https://stackoverflow.com/questions/7143077/how-can-i-install-packages-in-my-home-folder-with-pip) или наименее рекомендуется, как root на системном уровне. – metatoaster