2 способа установки Python в домашней директории

автор рубрика
2 способа установки Python в домашней директории

Python разросся, у него появляется все больше и больше версий. Однако новые версии не всегда поддерживаются разработчиками библиотек и фреймворков, например, тот же Apache Spark пока не совмести с Python 3.8. Поэтому приходится иметь дело с несколькими версиями на своем компьютере. В этой статье мы расскажем, как установить необходимую версию Python локально на компьютер в домашней директории пользователя 2 способами: через менеджер Conda и непосредственная установка из исходного кода.

Установка Python через Сonda

Простой способ установки Python — это использование системы управления пакетами и окружениями Conda. Она создает, сохраняет, подгружает и переключает среды, с установленными на ней зависимостями и версиями программ, на локальном компьютере (сервере). Применяют его в основном Python-разработчики, но и для других языков тоже подойдет. В репозитории conda-forge попадают только проверенные пакеты, поэтому придется немного подождать свежих версий библиотек. Этим Conda отличается от pip, в котором главный репозиторий PyPI переполнен самыми новыми пакетами. Помимо этого, Conda медленнее подгружает пакеты, чем pip. Зато не Conda зависит от программы, а она от Conda.

На официальном сайте [1] имеется два вида этой системы: Miniconda и Anaconda. Различие лишь в том, что Anaconda уже идет с предустановленными библиотеками и имеет графический интерфейс. С другой стороны, Miniconda — это минималистичная программа с CLI-интерфейсом без лишних пакетов. Также Anaconda требует 3 Гб свободного места, а Miniconda только 400 Мб. Если вам хватает командной строки, то используйте Miniconda.

Чтобы установить Miniconda скачайте скрипт, соответствующей вашей ОС, и следуйте инструкции по установке, опять же в соответствии со своей ОС.

По умолчанию используется базовая среда (base). Для отдельного проекта лучше создать свою среду с нужной версией Python. Для создания своей среды используется аргумент create. Например, следующая команда создаст виртуальную среду dev, которая будет использовать Python 3.6:

(base) $ conda create --name dev python=3.6
(base) $ conda actiavate dev
(dev)  $ which python
/home/roman/.config/miniconda3/envs/dev/bin/python

Среды и настройки находятся в директории $HOME/miniconda3 (если вы не меняли эту директорию).

Чтобы установить пакет через Conda дайте команду:

$ conda install numpy

Часто при установке пакета можно увидеть аргумент -c conda-forge, что значит “скачать пакет с репозитория conda-forge”.

Непосредственная установка Python из исходного кода

Здесь и далее подразумевается локальная установка Python для отдельного пользователя. Не устанавливайте так Python в директории администратора, иначе можете запутаться в версиях. Если у вас только один пользователь, и он администратор, то рекомендуем создать ещё одного пользователя (команда useradd).

До непосредственной установки может понадобиться ещё доустановить на некоторые зависимости:

$ sudo apt install libreadline-gplv2-dev \
    libncursesw5-dev \
    libssl-dev \
    libsqlite3-dev \
    tk-dev \
    libgdbm-dev \
    libc6-dev \
    libbz2-dev \
    liblzma-dev

Здесь и далее вам больше не потребуются права sudo (если вы его используйте).

Установим Python 3.6 в директорию $HOME/.local/python. Мы могли бы установить все необходимое прямо в $HOME/local, а не в отдельную директорию; мы это делаем, чтобы проще было его удалить. Если же вы допускаете установку в .local и вам потребовалось удалить скомпилированный через configure Python, то воспользуйтесь советом на stackoverflow (придется префикс на свой поменять).

Итак, скачаем, распакуем и установим флаг на исполнение нужным файлам:

mkdir -p ~/.local/python      
cd ~/.local/python
wget https://www.python.org/ftp/python/3.6.9/Python-3.6.9.tgz
tar zxfv Python-3.6.9.tgz
find ~/.local/python -type d | xargs chmod 0755
cd Python-3.6.9

Затем нужно скомпилировать:

./configure --prefix=~/.local/python
make && make install

Аргумент prefix обязательно нужно указать, иначе make начнет установку в директорию /usr/local, предварительно потребовав разрешение администратора, а это нам не требуется, поскольку мы работаем в домашней директории пользователя.

Теперь нужно указать пути в .bash_profile, если у вас bash, или .zshenv, если у вас zsh. Добавьте в него следующие команды:

PYP=$HOME/.local/python
PYTHONPATH=$PYP/Python-3.6.9

export PATH=$PYTHONPATH:$PYP/bin:$PATH
export PYTHONPATH

Перезайдите или просто запустите команду source .bash_profile. Теперь Python ссылается на локальную директорию:

$ which python
/home/roman/.local/python/Python-3.6.9/python

Однако пакетный менеджер pip, установленный локально в домашней директории, должен запускаться следующим образом:

$ python -m pip

Можете создать ему alias, чтобы не вводить такую длинную команду:

$ echo 'alias pip="python -m pip"' >> ~/.bash_profile

Виртуальное окружение создается через venv:

$ python -m venv dev
$ source dev/bin/activate
(dev) $ pip list

 

О том, как работать с Python и правильно его использовать для решения задач Data Science на специализированных курсах по Python в лицензированном учебном центре обучения и повышения квалификации разработчиков, менеджеров, архитекторов, инженеров, администраторов, Data Scientist’ов и аналитиков Big Data в Москве.

  1. FUNP: Основы языка Python для анализа данных и решения задач машинного обучения
  2. DPREP: Подготовка данных для Data Mining на Python
  3. PYML: Машинное обучение на Python
Комментировать