Обширный учебник для начинающих virtualenv? [закрыто]

356

В последнее время я слышу шум о virtualenv, и мне интересно. Но все, что я слышал, - это немного похвалы, и у меня нет четкого понимания, что это такое или как его использовать.

Я ищу (в идеале) последующее руководство, которое может взять меня из Windows или Linux без Python и объяснить каждый шаг (в произвольном порядке):

  • что я должен сделать, чтобы иметь возможность начать использовать virtualenv
  • конкретные причины, почему использование virtualenvэто хорошая идея
  • ситуации, когда я могу / не могу использовать virtualenv
  • ситуации, когда я должен / не должен использовать virtualenv

И пошагово (всесторонне) пара примеров ситуаций, которые следует разнообразить.

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

Дэн Бертон
источник
6
Эта статья от dabapps упрощает концепцию
suhair
Посмотрите это руководство thepythonguru.com/python-virtualenv-guide
Коди
2
Вот новый учебник: realpython.com/blog/python/python-virtual-environments-a-primer
nofinator
Будучи новичком на питоне, я искал прямое вступление к virtualenv (и pip), и я только что прошел через это: [ dabapps.com/blog/introduction-to-pip-and-virtualenv-python/] [1] [1]: dabapps.com/blog/introduction-to-pip-and-virtualenv-python Этот отличный пост в блоге снял все разочарования, которые я испытал после прочтения других запутанных / приблизительных.
Арно Бушо

Ответы:

245

Это очень хорошо: http://simononsoftware.com/virtualenv-tutorial-part-2/

И это немного более практичный: https://web.archive.org/web/20160404222648/https://iamzed.com/2009/05/07/a-primer-on-virtualenv/

Марк Папа
источник
3
+1 Я согласен, они были хороши для начинающего, как я. Я пробежал через оба, теперь я по крайней мере знаю, что это такое, и основы получения / использования. (Второй почему-то объяснил, activateно пренебрег deactivateo_O). Я все еще надеюсь на более подробную информацию о том, когда его использовать (а когда нет), и более глубоких примерах.
Дэн Бертон
1
Я полагаю, что ответ заключается в том, чтобы всегда использовать его, так же, как вы всегда должны использовать контроль версий.
mlissner
1
Имейте в виду, что --no-site-packages устарела, и теперь это поведение по умолчанию.
Адриан Лопес
1
Это дало мне хорошее представление о virtualenv. Рекомендуется использовать, virtualenvwrapperчто было упомянуто в более поздней части документа.
Гиханчанука
2
Забавно, что практически ни один virtualenvучебник в Интернете, ни руководство пользователя virtualenv фактически не показывают, как использовать среду в вашем скрипте Python. Вы не настраиваете среду только ради настройки среды. Я нашел один учебник, который, по крайней мере, показывает вам альтернативу .
Корм
34

Virtualenv - это инструмент для создания изолированных сред Python.

Допустим, вы работаете в двух разных проектах, A и B. Проект A - это веб-проект, и команда использует следующие пакеты:

  • Python 2.8.x
  • Джанго 1.6.х

Проект B также является веб-проектом, но ваша команда использует:

  • Python 2.7.x
  • Джанго 1.4.x

На машине, на которой вы работаете, нет версии django, что вам делать? Установить django 1.4? Джанго 1.6? Если вы установите django 1.4 в глобальном масштабе, было бы легко указать на django 1.6 для работы в проекте A?

Virtualenv - это ваше решение! Вы можете создать 2 различных virtualenv, один для проекта A, а другой для проекта B. Теперь, когда вам нужно работать в проекте A, просто активируйте virtualenv для проекта A, и наоборот.

Лучший совет при использовании virtualenv - это установить virtualenvwrapper, чтобы легко управлять всеми вашими virtualenv. Это обертка для создания, работы, удаления virtualenv.

lborgav
источник
1
Хотя эта ссылка может ответить на вопрос, лучше включить сюда основные части ответа и предоставить ссылку для справки. Ответы, содержащие только ссылки, могут стать недействительными в случае изменения связанной страницы.
Хосе
2
Я отредактировал ответ и добавил больше ценности к тому же. Спасибо за отзыв
lborgav
8

Вот еще один хороший пример: http://www.saltycrane.com/blog/2009/05/notes-using-pip-and-virtualenv-django/

Этот показывает, как использовать pipи файл требований пипса с virtualenv; Два предложенных урока Скобала очень полезны, но оба они easy_installориентированы.

Обратите внимание, что ни один из этих руководств не объясняет, как запустить другую версию Python в virtualenv - для этого, посмотрите этот вопрос SO: Используйте другую версию Python с virtualenv

Алекс Дин
источник
2

Для настройки virtualenv на чистой установке Ubuntu я нашел этот учебник по zookeeper лучшим - вы можете игнорировать части, касающиеся самого zookeper. Документация virtualenvwrapper предлагает похожий контент, но немного не хватает информации о том, что именно поместить в ваш .bashrcфайл.

metakermit
источник