Установка Anaconda в Debian 10

Anaconda – это открытый пакетный менеджер и дистрибутив языков программирования Python и R, разработанный для науки о данных и машинного обучения. Он широко используется для обработки больших объемов данных, научных вычислений и прогностического анализа.

Anaconda предлагает набор открытых пакетов, который на данный момент включает в себя более 1000 экземпляров. Существует бесплатная и платная версия Anaconda. Дистрибутив Anaconda поставляется с утилитой командной строки conda.

Документация Anaconda содержит много полезной информации.

Данный мануал поможет вам установить Anaconda для Python 3 на сервер Debian 10.

Требования

Для работы вам нужен сервер Debian 10, настроенный по этому мануалу.

Установка Anaconda

Чтобы установить Anaconda, загрузите последний установочный bash-сценарий программы, проверьте его подлинность и целостность, а затем запустите.

Найти последнюю версию Anaconda для Python 3 можно на сайте проекта. Скопируйте ссылку на неё. На момент написания статьи такой версией является 2019.03.

Перейдите в каталог /tmp, предназначенный для хранения временных файлов:

cd /tmp

Также вам понадобится утилита curl , установите ее:

sudo apt install curl

С помощью команды curl загрузите пакет:

curl -O https://repo.anaconda.com/archive/Anaconda3-2019.03-Linux-x86_64.sh

Теперь нужно проверить целостность пакета с помощью хэша и контрольной суммы SHA-256. Используйте команду sha256sum и укажите имя сценария:

sha256sum Anaconda3-2019.03-Linux-x86_64.sh

Команда вернёт примерно такой вывод:

45c851b7497cc14d5ca060064394569f724b67d9b5f98a926ed49b834a6bb73a  Anaconda3-2019.03-Linux-x86_64.sh

Сравните полученный вывод с хэшем вашего пакета, который можно найти здесь. Эти значения должны совпадать. Если это так, значит, пакет не был повреждён во время загрузки и теперь его можно запустить. Чтобы запустить сценарий, введите:

bash Anaconda3-2019.03-Linux-x86_64.sh
Welcome to Anaconda3 2019.03
In order to continue the installation process, please review the license
agreement.
Please, press ENTER to continue
>>>

Нажмите Enter, чтобы продолжить. Затем нажмите Enter еще раз, чтобы ознакомиться с лицензией. Программа предложит принять условия:

Do you approve the license terms? [yes|no]

Для этого введите yes.

После этого будет предложено выбрать расположение установки. Чтобы принять путь по умолчанию, нажмите Enter.

Anaconda3 will now be installed into this location:
/home/8host/anaconda3
- Press ENTER to confirm the location
- Press CTRL-C to abort the installation
- Or specify a different location below
[/home/8host/anaconda3] >>>

На установку уйдет некоторое время. После её окончания вы увидите:

...
installation finished.
Do you wish the installer to initialize Anaconda3
by running conda init? [yes|no]
[no] >>>

Введите yes, чтобы получить доступ к команде conda и не вводить PATH вручную. На экране появится вывод:

Appending source /home/8host/anaconda3/bin/activate to /home/8host/.bashrc
A backup will be made to: /home/8host/.bashrc-anaconda3.bak
...

Чтобы активировать установку, введите:

source ~/anaconda3/bin/activate

Вы попадете в базовую среду Anaconda, которая по умолчанию называется base. Это

Чтобы инициализировать среду, введите:

conda init

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

conda list

Эта команда выведет список доступных пакетов Anaconda:

# packages in environment at /home/8host/anaconda3:
#
# Name                    Version                   Build  Channel
_ipyw_jlab_nb_ext_conf    0.1.0                    py37_0
alabaster                 0.7.12                   py37_0
anaconda                  2019.03                  py37_0
...

Настройка виртуальной среды Anaconda

Виртуальная среда Anaconda позволяет изолировать проекты Python и использовать в них индивидуальный набор пакетов и версию Python. В каждой среде Anaconda вы можете указать требуемую версию Python и хранить все файлы проекта.

Для начала нужно узнать доступные версии Python:

conda search "^python$"

Команда выведет список версий Python, которые вы можете использовать, включая Python 3 и Python 2. В этом мануале мы будем использовать Python 3 и соответствующие версии пакетов.

Создайте среду с последней версией Python 3. Для этого нужно присвоить аргументу python значение 3. Имя виртуальной среды должно быть описательным (например, можно указать название проекта или его версию); в мануале среда условно называется my_env.

conda create --name my_env python=3

Команда выведет список пакетов, которые нужно загрузить и установить. Чтобы продолжить, введите y. Утилита conda извлечёт все необходимые пакеты и создаст среду.

Чтобы активировать новую среду, введите:

conda activate my_env

После этого командная строка изменится. Убедитесь, что в среде используется необходимая вам версия Python:

python --version
Python 3.7.3

Чтобы отключить среду Anaconda, введите:

conda deactivate

Чтобы более точно указать версию Python, передайте её аргументу python:

conda create -n my_env35 python=3.5

Вы также можете обновить версию Python внутри одной ветки в соответствующей среде с помощью следующей команды:

conda update python

Также в аргументе python  вы можете указать конкретную версию Python, например так: python=3.3.2.

Чтобы просмотреть все доступные среды, введите:

conda info --envs
# conda environments:
#
base                  *  /home/8host/anaconda3
my_env                   /home/8host/anaconda3/envs/my_env
my_env35                 /home/8host/anaconda3/envs/my_env35

Текущая активная среда будет отмечена звёздочкой.

Каждая среда, созданная с помощью conda create, по умолчанию содержит следующие пакеты:

  • openssl
  • pip
  • python
  • readline
  • setuptools
  • sqlite
  • tk
  • wheel
  • xz
  • zlib

Вы можете добавить в среду другие пакеты. К примеру, чтобы добавить пакет numpy, нужно ввести команду:

conda install --name my_env35 numpy

Если вы ещё во время создания среды знаете, что вам понадобится какой-либо нестандартный пакет, вы можете задать его в команде conda create. Например, чтобы добавить в среду пакет numpy, нужно использовать:

conda create --name my_env python=3 numpy

Ненужную среду можно удалить с помощью следующей команды:

conda remove --name my_env35 --all

Чтобы убедиться, что среда удалена, запросите список доступных сред (conda info —envs).

Обновление Anaconda

Anaconda нуждается в регулярном обновлении.

Для начала необходимо обновить утилиту conda:

conda update conda

Введите y, чтобы продолжить.

Затем можно обновить дистрибутив Anaconda:

conda update anaconda

Введите y, чтобы продолжить.

Удаление Анаконда

Чтобы удалить Anaconda, нужно сначала деактивировать среду:

conda deactivate

Затем нужно установить модуль anaconda-clean, который удалит конфигурационные файлы программы.

conda install anaconda-clean

Введите y, чтобы продолжить.

После установки вы можете запустить модуль с помощью следующей команды:

anaconda-clean

Также команда создаст папку для резервных копий .anaconda_backup в домашнем каталоге:

Backup directory: /home/8host/.anaconda_backup/2019-07-09T020356

Затем вы можете удалить каталог Anaconda:

rm -rf ~/anaconda3

После этого останется только удалить переменную PATH из файла .bashrc, добавленную во время установки программы.

nano ~/.bashrc

Найдите соответствующую строку (для поиска можно использовать комбинацию клавиш CTRL + W), удалите или закомментируйте её:

...
# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
# __conda_setup="$('/home/8host/anaconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
# if [ $? -eq 0 ]; then
#     eval "$__conda_setup"
# else
#     if [ -f "/home/8host/anaconda3/etc/profile.d/conda.sh" ]; then
#         . "/home/8host/anaconda3/etc/profile.d/conda.sh"
#     else
#         export PATH="/home/8host/anaconda3/bin:$PATH"
#     fi
# fi
# unset __conda_setup
# <<< conda initialize <<<

Затем нажмите CTRL + X и y, чтобы закрыть и сохранить файл.

Заключение

Теперь вы умеете устанавливать Anaconda, работать с утилитой conda, создавать виртуальные среды, обновлять и удалять программу Anaconda.

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

Читайте также: Введение в машинное обучение

Tags: , , ,