Подходит ли virtualenv для производственного сервера?


15

Я планирую установить приложение Python ( Pyblosxom ) на моем сервере и планирую запустить его в собственной песочнице virtualenv с --no-site-packages. Я надеюсь, что такая установка будет легко переносимой и обслуживаемой в течение многих лет.

Однако я использовал virtualenv только для сред разработки, которые воссоздают определенную настройку сервера локально, и большинство источников о virtualenv, похоже, также упоминают virtualenv для такого использования.

Есть ли какой-либо недостаток для запуска приложения Python из virtualenv на живом сервере?

ПРИМЕЧАНИЕ. Что касается переносимости установки, я только что узнал об экспериментальной --relocatableопции, которую необходимо запустить после установки нового пакета. Даже если бы я этого не делал, я думаю, что установка была бы достаточно переносимой благодаря pip.

Ответы:


15

Да, virtualenv вполне подходит для производства - у нас есть (очень) крупные клиенты, использующие Python, которые запускают свои приложения внутри virtualenv, и это очень хорошо помогает изолировать их от конфигурации Python системы.

Тем не менее, я бы не рекомендовал использовать его для «переносимости» - пытаясь перенести все это с машины на машину. Слишком много возможностей для тонких сбоев из-за несовместимости, которую никто не собирается замечать (потому что это не то, что широко сделано). Вместо этого имейте автоматизацию, которая способна установить новое virtualenv, соответствующее вашим требованиям на новой машине.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.