Я новичок в Python.
Я читаю virtualenv
предпочтительнее во время разработки проекта Python.
Я не мог понять этого. Почему virtualenv
?
Я новичок в Python.
Я читаю virtualenv
предпочтительнее во время разработки проекта Python.
Я не мог понять этого. Почему virtualenv
?
Virtualenv сохраняет ваши пакеты Python в виртуальной среде, локализованной в вашем проекте, вместо того, чтобы заставлять вас устанавливать ваши пакеты по всей системе.
Для этого есть ряд преимуществ,
Обратите внимание, что virtualenv относится к "виртуальным средам", но это не то же самое, что "виртуализация" или "виртуальные машины" (это несколько сбивает с толку). Например, VMWare полностью отличается от virtualenv.
Просто виртуальная среда - это изолированная рабочая копия Python, которая позволяет вам работать над конкретным проектом, не беспокоясь о влиянии на другие проекты.
Например, вы можете работать над проектом, который требует Django 1.3, а также поддерживает проект, который требует Django 1.0.
VirtualEnv помогает вам создать локальную среду (не системную ), специфичную для проекта, над которым вы работаете.
Следовательно, когда вы начнете работать над несколькими проектами, ваши проекты будут иметь разные зависимости (например, разные версии Django), поэтому для каждого проекта вам понадобится другая виртуальная среда. VirtualEnv делает это за вас.
Как, вы используете VirtualEnv.. Попробуйте VirtualEnvWrapper: https://pypi.python.org/pypi/virtualenvwrapper
Он предоставляет некоторые утилиты для автоматического создания и удаления virtualenvs, например:
mkvirtualenv <name>
: создать новый Virtualenvworkon <name>
: использовать указанный virtualenvи некоторые другие
Предположим, вы работаете над несколькими проектами, один проект требует определенной версии python, а другой - другой. В случае, если вы не работаете в виртуальной среде, оба проекта получат доступ к одной и той же версии, установленной на вашем компьютере, что может привести к ошибке для одного.
В то время как в случае виртуальной среды вы создаете новый экземпляр вашей машины, где вы можете хранить все библиотеки, версии отдельно. Каждый раз вы можете создать новую виртуальную среду и работать над ней как с новой.