#virtualenv
#virtualenv
Вопрос:
Я пытаюсь понять разницу (преимущества / недостатки) в использовании virtualenv по сравнению с локальной установкой python. У меня есть несколько разработанных модулей python, которые имеют ряд зависимостей от python (например, numpy, scipy, nose и т.д.). Один из способов развертывания этого — использовать virtualenv, а затем установить их в virtualenv, проблема, которую я предвижу, заключается в том, что у пользователей могут быть устаревшие pythons. Другой вариант — связать python 2.7, а затем установить приложения в локальную библиотеку сайта этого python 2.7.
Если версии python были одинаковыми, эти две альтернативы в конечном итоге дают одно и то же решение?
спасибо, Джим
Ответ №1:
Если вы смотрите на это с точки зрения развертывания автономного приложения для пользователей, у которых может быть установлена правильная (или любая другая) версия Python, то, конечно, имеет смысл связать ваш модуль и его зависимости с требуемой версией Python.
Суть virtualenv в том, что у вас может быть изолированная версия Python, которая не испортит вашу локальную установку, что бы вы с ней ни делали. Если вы хотите установить 12 зависимостей, чтобы поэкспериментировать с чем-то, а затем стереть все это, когда закончите, это не проблема. Если у вас есть четыре приложения на веб-сервере, которые были разработаны с использованием трех разных версий одной и той же библиотеки, вам не нужно скрещивать пальцы и заставлять их всех использовать самую последнюю.