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 в Москве.
- FUNP: Основы языка Python для анализа данных и решения задач машинного обучения
- DPREP: Подготовка данных для Data Mining на Python
- PYML: Машинное обучение на Python
Источники