Как установить библиотеки Python в определенных средах

81
11

У меня на моем компьютере две установки Anaconda. Первый основан на Python 2.7, а другой основан на Python 3.4. По умолчанию версия Python - 3,4. Более того, я могу запустить Python 3.4, набрав /home/eualin/.bin/anaconda3/bin/python или просто python. Я могу сделать то же самое, но для Python 2.7, набрав /home/eualin/.bin/anaconda2/bin/python. Моя проблема в том, что я не знаю, как устанавливать новые библиотеки в определенных средах (либо в Python 2.7, либо в Python 3.4). Например, когда я пишу install seaborn, библиотека устанавливается по умолчанию под Python 3.4, когда на самом деле я хочу установить ее под Python 2.7. Любые идеи?


ИЗМЕНИТЬ


Это то, что я делаю до сих пор: файл ~/.bashrc содержит следующие два блока, из которых только один включен в любой момент времени.


# added by Anaconda 2.1.0 installer
export PATH="/home/eualin/.bin/anaconda2/bin:$PATH"

# added by Anaconda3 2.1.0 installer
#export PATH="/home/eualin/.bin/anaconda3/bin:$PATH"


В зависимости от того, какую версию я хочу работать, я открываю fie, комментирую противоположный блок и делаю source ~/.bashrc Затем я устанавливаю библиотеки, которые я хочу использовать по одному. Но, это рекомендуемый способ?

спросил(а) 2014-12-30T19:21:00+03:00 5 лет, 8 месяцев назад
1
Решение
106

Вам не нужно несколько распределений anaconda для разных версий python. Я бы предложил оставить только один.


conda в основном позволяет создавать среды для ваших различных потребностей.


conda create -n myenv python=3.3 создает новую среду с именем myenv, которая работает с интерпретатором python3.3.


source activate myenv переключается на вновь создаваемую среду. В основном это устанавливает PATH, что pip, conda, python и другие двоичные файлы указывают на правильную среду и интерпретатор.

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


После активации вашей среды pip install <mypackage> укажет на правильную версию pip, поэтому не нужно слишком беспокоиться.


Возможно, вы захотите создать среды для разных версий python или разных наборов пакетов. Конечно, вы можете легко переключаться между этими средами с помощью source activate <environment name>.


Для получения дополнительных примеров и подробностей вы можете захотеть взглянуть на docs.

ответил(а) 2014-12-30T23:23:00+03:00 5 лет, 8 месяцев назад
41

Virtualenv кажется очевидным ответом здесь, но я хочу предложить альтернативу, которую мы использовали в последнее время: Fig - это особенно эффективно, поскольку мы также используем Docker в производстве, но я полагаю, что использование Fig в качестве замены для virtualenv было бы весьма эффективным независимо от вашей производственной среды.

ответил(а) 2014-12-30T23:48:00+03:00 5 лет, 8 месяцев назад
-4

Использование virtualenv - ваш лучший вариант, о котором упоминал @Dettorer.


Я нашел этот способ установки и использования virtualenv наиболее полезным.
Проверьте это:


Правильный способ установки virtualenv

ответил(а) 2014-12-30T23:30:00+03:00 5 лет, 8 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема