Virtualenv - это пакет, который позволяет вам создавать именованные виртуальные среды, в которых вы можете устанавливать пакеты pip изолированно. Этот инструмент отлично подходит, если вы хотите иметь подробный контроль над тем, какие пакеты вы устанавливаете для каждой создаваемой среды.

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

# install
pip install virtualenv
# create environment
virtualenv venv
# activate environment
source venv/bin/activate

2) Анаконда

Теперь, если вы в первую очередь занимаетесь наукой о данных, Anaconda также станет отличным вариантом. Anaconda создается Continuum Analytics и представляет собой дистрибутив Python с предустановленным множеством полезных библиотек Python
для науки о данных. Anaconda пользуется популярностью, потому что предлагает множество инструментов, используемых в науке о данных и машинном обучении, всего за одну установку, поэтому она отлично подходит для быстрой и простой настройки.

Как и Virtualenv, Anaconda также использует концепцию создания сред, чтобы изолировать различные библиотеки и версии. Anaconda также представляет собственный менеджер пакетов под названием condafrom, из которого вы можете устанавливать библиотеки.

Кроме того, Anaconda по-прежнему имеет полезное взаимодействие с pip, которое позволяет вам устанавливать любые дополнительные библиотеки,
которые недоступны в диспетчере пакетов Anaconda.

Следуйте инструкциям по загрузке и установке анаконды отсюда.

# create environment
conda create — name test-env
# activate environment
conda activate test-env
# install additional packages
conda install tensorflow

Чтобы добавить больше, у вас есть красивый пользовательский интерфейс для управления вашими проектами и средой.

Итак ... что использовать, virtualenv или anaconda?

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

В моем случае я решил использовать оба, но я управляю всем с помощью библиотеки под названием pyenv

Концептуально pyenv находится над virtualenv и anaconda и может использоваться для управления не только тем, какая среда virtualenv или среда Anaconda используется, но также легко контролирует, использую ли я Python 2 или Python 3.

pyenv local 2.7.10
pyenv activate py27_tf12
pyenv local 3.5.2
pyenv activate py35_tf12

Последний аспект pyenv заключается в том, что у него есть возможность установить среду по умолчанию для данного каталога. Это вызывает автоматическую активацию нужной среды при входе в каталог.

~/code $ cd myproject
(py35_tf12) ~/code/myproject $

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

Итак, какой менеджер пакетов вы используете?

Это действительно сводится к вашему рабочему процессу и предпочтениям. Если вы обычно используете только основные инструменты анализа данных и не беспокоитесь об установке каких-либо дополнительных библиотек, которые вы не используете, Anaconda может стать отличным выбором, поскольку она упрощает рабочий процесс в соответствии с вашими потребностями и предпочтениями.

Но если вы тот, кто любит настраивать свою среду и делать ее именно такой, какой вы хотите, то, возможно, что-то вроде virtualen или даже pyenv, может быть, вам больше по душе.

Не существует единственного правильного способа управления библиотеками Python, и, безусловно, их гораздо больше, чем те варианты, которые я только что представил.

Поскольку разные инструменты приходят и уходят, важно помнить, что у всех разные потребности и предпочтения, поэтому выберите для себя наиболее подходящий.

Вот и все, меня зовут Вивек Амилкантхвар. До скорой встречи с одним из таких в следующий раз; А пока, желаю удачи :)