Как установить библиотеки Python в определенных средах
У меня на моем компьютере две установки 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
Затем я устанавливаю библиотеки, которые я хочу использовать по одному. Но, это рекомендуемый способ?
Вам не нужно несколько распределений 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.
Virtualenv кажется очевидным ответом здесь, но я хочу предложить альтернативу, которую мы использовали в последнее время: Fig - это особенно эффективно, поскольку мы также используем Docker в производстве, но я полагаю, что использование Fig в качестве замены для virtualenv было бы весьма эффективным независимо от вашей производственной среды.
Использование virtualenv - ваш лучший вариант, о котором упоминал @Dettorer.
Я нашел этот способ установки и использования virtualenv наиболее полезным.
Проверьте это: