После того как Windows XP стал мне периодически угрожать принудительно перевести мой домашний компьютер на Widows 10, я решил перейти на Linux. Выбор пал на дистрибутив Ubuntu. Ubuntu 18.04 периодически зависал, хранитель экрана, режим сна и гибернации были недоступны.
Случайно узнал (из статьи негативного характера) о существовании российского дистрибутива Linux - Simply Linux. Изучив вопрос, я был приятно удивлён полнотой предоставляемой информации о дистрибутиве, уровне поддержки и решил установить его на свой домашний компьютер.
Simply Linux не зависает, режимы сна и гибернации в наличии, и в работе он оказался удобнее Ubuntu.
В связи с переустановкой ОС возникла необходимость переустановки основного инструмента для моей работы - программного пакета Anaconda.
Из wikipedia:
Anaconda - дистрибутив языков программирования Python и R, включающий набор популярных свободных библиотек, объединённых проблематиками науки о данных и машинного обучения.
В состав Anaconda входят в том числе Jupyter Notebook и набор библиотек (numpy, scipy, pandas) ради которых я этот программный пакет и устанавливаю.
После установки Anаconda занимает 6,6 Гб дискового пространства. Скорее всего 95% из того, что установлено мне никогда не понадобится, но гораздо проще установить Anаconda полностью чем тратить время на установку только нужных пакетов с целью сберечь дисковое пространство.
Установщик я скачал отсюда:
https://www.anaconda.com/download
По умолчанию сохраняется он в каталог ~/Загрузки
Переходим в режим суперпользователя:
su -
Переходим в каталог Загрузки
cd Загрузки
Запускаем установщик Anaconda
bash Anaconda3-2021.11-Linux-x86_64.sh
где Anaconda3-2021.11-Linux-x86_64.sh - скаченный загрузчик Anaconda
В процессе установки будет задан вопрос о месте установки Anaconda:
Anaconda3 will now be installed into this location:
/home/sergey/anaconda3
- Press ENTER to confirm the location
- Press CTRL-C to abort the installation
- Or specify a different location below
По умолчанию предлагается установить Anaconda в каталог пользователя (в моём случае /home/sergey/). Если просто нажать Enter, то Anaconda установится в каталог по умолчанию.
Т.к. /home у меня смонтирован на магнитном жёстком диске, a корневой каталог / на SSD, то для уменьшения времени загрузки я установил Anaconda на SSD в каталог /opt. Я набрал
/opt/anaconda3
и нажал Enter.
Далее установщик задаст вопрос:
Do you wish the installer to initialize Anaconda3
by running conda init? [yes|no]
Нужно ответить yes
В этом случае в файл ~/.bashrc будут добавлен скрипт, который будет инициализировать пакетный менеджер conda и запускать собственное окружение Anaconda при каждом запуске терминала, что будет видно по подсказке командной строки:
(base) [sergey@localhost ~]$
где (base) - название окружения Anaconda, sergey - имя пользователя, localhost - имя компьютера.
Для того, чтобы выйти из окружения Anaconda и перейти в основное окружение нужно выполнить команду
conda deactivate
Строка-подсказка изменится на
[sergey@localhost ~]$
Если Вы не хотите, чтобы окружение Anaconda загружалось по умолчанию, то для этого после окончания установки следует выполнить команду
conda config --set auto_activate_base false
В файл ~/.condarc будет добавлена строка
auto_activate_base: false
Теперь при запуске терминала будет запускаться основное окружение и чтобы получить возможность работать с Anaconda следует сначала запустить её окружение:
conda activate
После этого можно запустить Jupyter Notebook командой
jupyter notebook
либо Anaconda Navigator командой
anaconda-navigator
При повторном запуске можно вместо полного имени команды писать одну или несколько первых букв команды после восклицательного знака:
! ju или !an
Чтобы упростить процесс запуска Jupyter Notebook присвоим ему комбинацию горячих клавиш Ctrl+Alt+J.
Создаём каталог /home/sergey/bin/ в котором размещаем файл jn.sh со следующим содержанием:
#!/bin/bash
cd /home/sergey/dzen # Рабочая папка
conda activate
jupyter notebook
Затем зарегистрируем комбинацию горячих клавиш в системе.
SL -> Диспетчер настроек -> Клавиатура -> Комбинация клавиш -> Добавить -> Команда: /home/sergey/bin/jn.sh -> Комбинация клавиш: Ctrl+Alt+J
Теперь Jupyter Notebook можно запускать нажав Ctrl+Alt+J.
Если при нажатии Ctrl+Alt+J появляется сообщение "Отказано в доступе", то необходимо дать разрешение системе выполнять файл jn.sh командой в терминале
chmod +x /home/sergey/bin/jn.sh
Для того, чтобы иметь возможность создавать файлы в каталоге /opt/anaconda3 и его подкаталогах необходимо дать на это право соответствующему пользователю (себе) :
sudo chown -R sergey /opt/anaconda3
где sergey - имя пользователя.
После этого мы сможем создать в каталоге /opt/anaconda3/lib/python3.9/site-packages/ файл mypackages.pth в который будем добавлять пути к собственным пакетам и модулям с целью получения возможности импортировать их из других модулей, используя ключевое слово import, без указания пути к ним.
Необходимо помнить, что устанавливая или обновляя пакеты в каком-то окружении изменения будут происходить только в этом окружении, оставляя неизменными пакеты в других окружениях. В каждом окружении находится свой набор пакетов.
В качестве примера проверим версии Python в основном окружении и в окружении Anaconda:
[sergey@localhost ~]$ python3 -V
Python 3.9.6
[sergey@localhost ~]$ conda activate
(base) [sergey@localhost ~]$ python3 -V
Python 3.9.7
Из примера видно, что версия Python, входящего в состав Anaconda более поздняя чем версия Python в составе Simply Linux 10.0.
Если возникнет потребность установить определённую версию какого либо пакета, то сначала нужно проверить какие версии есть в распоряжении Anaconda и потом выбрать нужную.
Например, мне понадобилась версия пакета scipy выше 1.7.3. Чтобы узнать какие версии доступны, вводим в терминале команду
conda search scipy
Из вывода на экран узнаём, что самой свежей из доступных версий является 1.9.3. Устанавливаем её командой
conda install scipy=1.9.3