Как узнать версию питона в jupiter notebook
Перейти к содержимому

Как узнать версию питона в jupiter notebook

  • автор:

Как узнать используемую версию питона?

Помогите пожалуйста понять почему я вижу разные версии python через командную строку.

md@md ~/.MINT17/code/python/alien_invasion $ python -V Python 3.7.0 md@md ~/.MINT17/code/python/alien_invasion $ python3 -V Python 3.4.3 md@md ~/.MINT17/code/python/alien_invasion $ virtualenv -p python3.4 venv Running virtualenv with interpreter /usr/bin/python3.4 Using base prefix '/usr' New python executable in venv/bin/python3.4 Also creating executable in venv/bin/python Installing setuptools, pip. done. md@md ~/.MINT17/code/python/alien_invasion $ md@md ~/.MINT17/code/python/alien_invasion/venv/bin $ source activate (venv)md@md ~/.MINT17/code/python/alien_invasion/venv/bin $ python -V Python 3.7.0 (venv)md@md ~/.MINT17/code/python/alien_invasion/venv/bin $ python3 -V Python 3.4.3 

Как видите, команды

python -V 
python3 -V 

показывают разные версии. Причём даже когда virtualenv включен. Как такое возможно?

Использование Anaconda и создание собственных Python окружений

Для выполнения расчетов с помощью Python, как правило, требуются дополнительные библиотеки. Оптимальным способом загрузки дополнительных библиотек на вычислительном кластере НИУ ВШЭ является использование программного пакета Anaconda. Это удобный менеджер пакетов Python, предназначенный для создания изолированных окружений Python и автоматического разрешения зависимостей. На суперкомпьютере уже имеется базовое окружение Anaconda, которое можно подключить следующей командой:

module load Python

После подключения этого модуля становятся доступными для использования большинство наиболее популярных библиотек Python, включенных в состав базового набора Anaconda.
Полный список библиотек в окружении можно посмотреть командой conda list
Установка других пакетов или обновление версий в базовом окружении невозможна.

Также доступны дополнительные окружения с пакетами PyTorch, TensorFlow и аналогом Google Colab: module available Python

Если вам необходимо установить пакеты или версии пакетов, которых нет в базовом окружении, то потребуется создать своё собственное изолированное окружение и установить в него необходимые модули:

conda create -n python=

Например, для создания окружения «my_py_env1» на базе последней версии Python 3 воспользуйтесь следующей командой:

conda create -n my_py_env1 python=3

На запрос об установке новых пакетов ответьте «y».

Далее необходимо задействовать созданное окружение:

source activate my_py_env1

После активации в приглашении терминала появится префикс с именем окружения:

(my_py_env1) [anaconda@sms ~]$ python -V

Для вывода списка доступных окружений используйте команду conda env list

Для установки необходимых пакетов используйте команду conda install, например, для установки последней версии NumPy:

conda install numpy

Для установки пакетов из файла requirements.txt можно использовать команду conda install —file requirements.txt

Обратите внимание: на вычислительных узлах из соображений безопасности нет доступа в Интернет. Все пакеты необходимо предварительно установить, подключившись к логин-серверу суперкомпьютера.

С помощью команды conda search выполняется поиск пакетов в репозиториях Anaconda. Также поиск можно осуществлять на сайте https://anaconda.org/anaconda/

Отключить окружение (например, для выбора другого): conda deactivate

Для подключения окружения к ноутбукам в JupyterHub установите соответствующее ядро (см. https://github.com/jupyter/jupyter/wiki/Jupyter-kernels).
Например, для Python необходимо установить ядро ipykernel:

conda install ipykernel

После установки ядра это окружение появится в списке на главной странице JupyterLab:

Переключить используемое окружение и ядро можно в уже запущенном ноутбуке, кликнув по названию ядра в правом верхнем углу или в меню Kernel -> Change Kernel.

Настройка окружения Python для работы с GPU на вычислительных узлах

Для работы с GPU на вычислительных узлах необходимо предварительно настроить изолированное окружение Python на логин-сервере (sms) вычислительного кластера НИУ ВШЭ:

    1. Выгрузить все загруженные модули и активировать модуль Anaconda:
      module purge; module load Python
    2. Создать и активировать новое изолированное окружение Anaconda:
      conda create -n my_py_env
      source activate my_py_env
      Если вы часто запускаете задачи с использованием srun, то рекомендуется в файл ~/.bashrc добавить строчку source activate my_py_env. В этом случае будет автоматически активироваться созданное окружение.
    3. Установить необходимые пакеты Python, например для PyTorch:
      conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia
      Большие фреймворки, такие как PyTorch или TensorFlow, рекомендуется устанавливать в первую очередь и в новое пустое окружение. Это позволит установить версии пакетов с поддержкой GPU без возможного влияния ранее установленных модулей.
    4. Пакеты, которым для установки необходимо наличие GPU, необходимо предварительно скачать, затем выделить вычислительный узел с GPU и установить пакет с локального каталога. Например, для установки пакета pytorch_scatter из git-репозитория следует выполнить следующие команды:
      git clone https://github.com/rusty1s/pytorch_scatter
      srun —pty —cpus-per-task 1 —gpus 1 bash
      cd pytorch_scatter
      pip install -e .
      Здесь точка в конце команды означает указание на текущий каталог — будет выполнена сборка и установка модуля из текущей директории.
    5. Провести проверочный запуск на 1 GPU и подготовить скрипт-файл для sbatch по примеру из инструкции по запуску задач на суперкомпьютере. Пример sbatch-скрипта:

    #!/bin/bash #SBATCH --job-name=test #SBATCH --gpus=1 module purge module load Python source deactivate source activate my_py_env nvidia-smi which python python -V python -c 'import torch; print(torch.cuda.is_available())'

    Важно: о выводе результатов в консоль

    По умолчанию python использует буфферизованный вывод (т.е. вывод НЕ мгновенно передается в результирующий файл).
    Например, в случае такого кода:

    from time import sleep print('Start') for i in range(60): sleep(1) print('Done')

    Начальный вывод «Start» появится в файле вывода (slurm-.out) только спустя 60 итераций (одновременно с «Done»).
    Для задач, результаты которых оцениваются в процессе выполнения (выводятся промежуточные значения и тп), это не подходит (например, в случае, когда задача завершится по таймауту, вывода в файле не будет).
    Для мгновенного отображения результатов предлагается 2 варианта:

    1. Добавлять аргумент flush=True в функцию print: print(‘Start’, flush=True) (это работает только при версии python >= v3.3).
    2. Добавить аргумент -u при запуске задачи к самому интерпретатору: например, python3 -u myprog.py (изменений в коде в данном случае не понадобится).

    Нашли опечатку ?
    Выделите её, нажмите Ctrl+Enter и отправьте нам уведомление. Спасибо за участие!
    Сервис предназначен только для отправки сообщений об орфографических и пунктуационных ошибках.

    • О ВЫШКЕ
    • Цифры и факты
    • Руководство и структура
    • Преподаватели и сотрудники
    • Корпуса и общежития
    • Закупки
    • Обращения граждан в НИУ ВШЭ
    • Фонд целевого капитала
    • Противодействие коррупции
    • Сведения о доходах, расходах, об имуществе и обязательствах имущественного характера
    • Сведения об образовательной организации
    • Людям с ограниченными возможностями здоровья
    • Единая платежная страница
    • Работа в Вышке
    • ОБРАЗОВАНИЕ
    • Лицей
    • Довузовская подготовка
    • Олимпиады
    • Прием в бакалавриат
    • Вышка+
    • Прием в магистратуру
    • Аспирантура
    • Дополнительное образование
    • Центр развития карьеры
    • Бизнес-инкубатор ВШЭ
    • НАУКА
    • Научные подразделения
    • Исследовательские проекты
    • Мониторинги
    • Диссертационные советы
    • Защиты диссертаций
    • Академическое развитие
    • Конкурсы и гранты
    • Научно-образовательный портал IQ.hse.ru
    • XXIV Ясинская (Апрельская) международная научная конференция по проблемам развития экономики и общества
    • РЕСУРСЫ
    • Библиотека
    • Издательский дом ВШЭ
    • Книжный магазин «БукВышка»
    • Типография
    • Медиацентр
    • Журналы ВШЭ
    • Публикации
    • Единый архив экономических и социологических данных
    • Полезные ссылки
    • Министерство науки и высшего образования РФ
    • Министерство просвещения РФ
    • Федеральный портал «Российское образование»
    • Массовые открытые онлайн-курсы

    Шрифты HSE Sans и HSE Slab разработаны в Школе дизайна НИУ ВШЭ

    Как узнать используемую версию питона?

    Помогите пожалуйста понять почему я вижу разные версии python через командную строку.

    md@md ~/.MINT17/code/python/alien_invasion $ python -V Python 3.7.0 md@md ~/.MINT17/code/python/alien_invasion $ python3 -V Python 3.4.3 md@md ~/.MINT17/code/python/alien_invasion $ virtualenv -p python3.4 venv Running virtualenv with interpreter /usr/bin/python3.4 Using base prefix '/usr' New python executable in venv/bin/python3.4 Also creating executable in venv/bin/python Installing setuptools, pip. done. md@md ~/.MINT17/code/python/alien_invasion $ md@md ~/.MINT17/code/python/alien_invasion/venv/bin $ source activate (venv)md@md ~/.MINT17/code/python/alien_invasion/venv/bin $ python -V Python 3.7.0 (venv)md@md ~/.MINT17/code/python/alien_invasion/venv/bin $ python3 -V Python 3.4.3

    Как видите, команды
    python -V
    и
    python3 -V
    показывают разные версии. Причём даже когда virtualenv включен. Как такое возможно?

    • Вопрос задан более трёх лет назад
    • 4250 просмотров

    Комментировать
    Решения вопроса 1
    Pestilence_brain @Pestilence_brain

    Он показывает разные версии, видимо из-за автонастройки консоли при установке Python. Так возможно, когда устанавливали Python 3.7.0 «path» команда для консоли закрепилась как python, a python3 как версия 3.4.3

    Ответ написан более трёх лет назад
    Комментировать
    Нравится 1 Комментировать
    Ответы на вопрос 2

    Radjah

    ls -la `which python` ls -la `which python3`

    А так можно долго гадать.

    Как узнать какие (несколько / все) версии Python есть на компьютере?

    Я пытаюсь понять, как автоматически найти и вывести в консоли все версии python, которые присутствуют и обнаруживаются на компьютере (и в linux и в windows). Гугление показывает мне только те ответы, как узнать текущую установленную версию. Я подумал, что для этого должен быть ответ на Stackoverflow.

    Отслеживать
    задан 30 янв в 4:35
    624 3 3 серебряных знака 16 16 бронзовых знаков
    30 янв в 5:19
    Спасибо. Я не нашёл этот ответ, но он мне помог.
    30 янв в 5:22

    Если вам помог ответ с английского СО, а на русском СО такого ответа нет, то всячески приветствуется сделать свой ответ по смыслу такой же как на английском СО (можно вкратце) и с ссылкой на тот ответ.

    30 янв в 6:30
    Прямо настоящим ответом бы выдержку из английского СО добавить, ну да как хотите.
    30 янв в 7:14

    2 ответа 2

    Сортировка: Сброс на вариант по умолчанию

    update-alternatives --config python 

    Вывод будет примерно таким:

    There are 2 choices for the alternative python (providing /usr/bin/python). Selection Path Priority Status ------------------------------------------------------------ * 0 /usr/local/bin/python3.8 2 auto mode 1 /usr/bin/python3.6 1 manual mode 2 /usr/local/bin/python3.8 2 manual mode Press to keep the current choice[*], or type selection number: 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *