Как структурировать стандартный проект Python (модули, библиотеки) для будущего использования в Google App Engine?

В настоящее время я разрабатываю проект Python, который растет, и я могу реализовать его как webapp в GAE в будущем.

По мере развития проекта я обрезаю потенциально многоразовый код на отдельные пакеты и модули, которые в настоящее время находятся на моем PYTHONPATH.

Есть ли у вас какие-либо советы о том, как структурировать мой проект и пакеты многократного использования, чтобы в будущем он хорошо вписывался в проект GAE?

Рассмотрение рекомендаций по структуре проекта GAE в других сообщениях (например, это и это и это ) кажется довольно плоским – это лучший способ?

Что относительно сторонних пакетов / модулей? Лучше всего укусить пулю и использовать VirtualEnv с самого начала?

Огромное спасибо. Prembo.

4 Solutions collect form web for “Как структурировать стандартный проект Python (модули, библиотеки) для будущего использования в Google App Engine?”

Просто поместите свои различные библиотеки в пакеты из корневого каталога вашего приложения. Корневой каталог автоматически добавляется в sys.path вашего приложения.

Если вы хотите, чтобы вы могли поместить их в каталог lib из корня, вы можете это сделать, но вам придется написать модуль, который добавляет этот каталог в конец sys.path , и импортировать его, прежде чем импортировать что-либо из lib ,

Использование virtualenv – это вариант, но я лично не думаю, что он сильно вас dev_appserver , поскольку вы не можете запустить virtualenv на производстве, а dev_appserver эмулирует производственную среду.

Я не могу сказать вам о GAE в частности, но могу сказать, что кусание пули не имеет к этому никакого отношения – использование VirtualEnv (и virtualenvwrapper) сделает вашу разработку Python более гладкой, простой и простой.

Сверху голова мало, преимуществ много.

Переключатель. Теперь.

Моя магистерская диссертация в качестве студента была реализована в App Engine. Проект является открытым исходным кодом, и вы можете использовать его, как вам нравится, я надеюсь, вы получите эту идею, и вы можете адаптировать ее к вашим потребностям.

SDK GAE Python создает собственную виртуальную среду при работе в локальной среде, поэтому virtualenv вам не поможет. Существуют фреймворки, такие как web2py и django-nonrel, которые хорошо работают с GAE, если вы хотите портировать свой код или, по крайней мере, вдохновляетесь их структурой папок.

  • Определение удаленного интерпретатора на удаленной машине Linux с использованием Pydev и RSE Server
  • Вопросы виртуального виртуального питона
  • pip: Не удалось найти активированный virtualenv (обязательно)
  • Установите m2crypto на virtualenv без системных пакетов
  • Как установить lxml в virtualenv из локальной системы?
  • Ошибка импорта IPython и python sys.path в целом
  • virtualenv и subprocess.call () в смешанной среде Python 2.7 / 3.3
  • Где pip устанавливает свои пакеты?
  • Does Conda заменяет необходимость в virtualenv?
  • удаленный проект pycharm с virtualenv
  • Как обновить sqlite3 в python 2.7.3 внутри virtualenv?
  • Python - лучший язык программирования в мире.