Как узнать используемую версию питона?
Помогите пожалуйста понять почему я вижу разные версии 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 включен. Как такое возможно?
How to know which Python is running in Jupyter notebook?
I use Jupyter notebook in a browser for Python programming, I have installed Anaconda (Python 3.5). But I’m quite sure that Jupyter is running my python commands with the native python interpreter and not with anaconda. How can I change it and use Anaconda as interpreter?
58.2k 27 27 gold badges 142 142 silver badges 167 167 bronze badges
asked Nov 19, 2016 at 15:22
2,521 2 2 gold badges 12 12 silver badges 8 8 bronze badges
You could find the kernel settings for the Jupyter configuration and modify the python executable
Nov 19, 2016 at 15:39
I had this problem, and for the second part of your problem I solved it by reinstalling jupyter using conda: conda install jupyter .
Dec 7, 2022 at 13:14
8 Answers 8
from platform import python_version print(python_version())
This will give you the exact version of python running your script. eg output:
1 1 1 silver badge
answered Sep 17, 2018 at 4:13
Davies Odu Davies Odu
3,959 1 1 gold badge 9 9 silver badges 4 4 bronze badges
this should be selected as the answer to the posted question.
Feb 11, 2020 at 9:09
The OP is asking to find which executable is running (system/anaconda), not which version. The answer by P. Camilleri is the solution
Mar 10, 2020 at 8:56
Answer fails to answer the question. Answer fails to succinctly print the version (and related metadata) of the active Python interpreter with a terse one-liner like from sys import version; version . Naturally, 240 upvotes ensue. Makes sense. As @MrMartin suggests, see literally any other answer than this.
Jun 11, 2021 at 6:04
this works: from platform import python_version print(python_version())
Feb 22 at 11:49
This tells you the version, but how does it tell you the path of the python executable that’s currently running? That seems to be more what OP is about (and what I was looking for when searching led me to this page).
Mar 18 at 19:20
import sys sys.executable
will give you the interpreter. You can select the interpreter you want when you create a new notebook. Make sure the path to your anaconda interpreter is added to your path (somewhere in your bashrc/bash_profile most likely).
For example I used to have the following line in my .bash_profile, that I added manually :
export PATH="$HOME/anaconda3/bin:$PATH"
EDIT: As mentioned in a comment, this is not the proper way to add anaconda to the path. Quoting Anaconda’s doc, this should be done instead after install, using conda init :
Should I add Anaconda to the macOS or Linux PATH?
We do not recommend adding Anaconda to the PATH manually. During installation, you will be asked “Do you wish the installer to initialize Anaconda3 by running conda init?” We recommend “yes”. If you enter “no”, then conda will not modify your shell scripts at all. In order to initialize after the installation process is done, first run source /bin/activate and then run conda init
answered Nov 19, 2016 at 15:29
P. Camilleri P. Camilleri
12.8k 8 8 gold badges 42 42 silver badges 78 78 bronze badges
I’m running this in Spyder and no results but Jupyter is ok. I wonder why?
May 31, 2020 at 0:56
The Conda docs recommend against adding to the PATH like that.
Jun 11, 2020 at 0:24
@AMC you’re right, thank you. I have edited to point towards conda init
Jun 11, 2020 at 8:43
Running sys.executable returns ‘C:\\Program Files\\Anaconda3\\python.exe’ — not very useful. We already know that it’s Python (from the heading of the OP) and what we want to know is the version of Python being used. Thank you.
Jul 22, 2021 at 14:19
@Confounded you may have different intepreters on your machine with different versions. The OP is asking which interpreter is called, not which version.
Jul 22, 2021 at 14:56
import sys print(sys.executable) print(sys.version) print(sys.version_info)
Seen below :- output when i run JupyterNotebook outside a CONDA venv
/home/dhankar/anaconda2/bin/python 2.7.12 |Anaconda 4.2.0 (64-bit)| (default, Jul 2 2016, 17:42:40) [GCC 4.4.7 20120313 (Red Hat 4.4.7-1)] sys.version_info(major=2, minor=7, micro=12, releaselevel='final', serial=0)
Seen below when i run same JupyterNoteBook within a CONDA Venv created with command —
conda create -n py35 python=3.5 ## Here - py35 , is name of my VENV
in my Jupyter Notebook it prints :-
/home/dhankar/anaconda2/envs/py35/bin/python 3.5.2 |Continuum Analytics, Inc.| (default, Jul 2 2016, 17:53:06) [GCC 4.4.7 20120313 (Red Hat 4.4.7-1)] sys.version_info(major=3, minor=5, micro=2, releaselevel='final', serial=0)
also if you already have various VENV’s created with different versions of Python you switch to the desired Kernel by choosing KERNEL >> CHANGE KERNEL from within the JupyterNotebook menu. JupyterNotebookScreencapture
Also to install ipykernel within an existing CONDA Virtual Environment —
Source — https://github.com/jupyter/notebook/issues/1524
$ /path/to/python -m ipykernel install --help usage: ipython-kernel-install [-h] [--user] [--name NAME] [--display-name DISPLAY_NAME] [--profile PROFILE] [--prefix PREFIX] [--sys-prefix]
Install the IPython kernel spec.
optional arguments: -h, —help show this help message and exit —user Install for the current user instead of system-wide —name NAME Specify a name for the kernelspec. This is needed to have multiple IPython kernels at the same time. —display-name DISPLAY_NAME Specify the display name for the kernelspec. This is helpful when you have multiple IPython kernels. —profile PROFILE Specify an IPython profile to load. This can be used to create custom versions of the kernel. —prefix PREFIX Specify an install prefix for the kernelspec. This is needed to install into a non-default location, such as a conda/virtual-env. —sys-prefix Install to Python’s sys.prefix. Shorthand for —prefix=’/Users/bussonniermatthias/anaconda’. For use in conda/virtual-envs.
Jupyter Notebook
Программа Jupyter Notebook — это локальная программа, которая открывается в браузере и позволяет интерактивно исполнять код на Питоне, записанный в последовательности ячеек.
Облачной версией Jupyter Notobook является программа Google Colab, которой мы уже давно пользуемся на курсах машинного обучения. Если вы проходили мои занятия, то в работе с этой программой для вас не будет почти ничего нового.
Содержание занятия
- Как установить Jupyter Notebook
- Anaconda
- Установка дистрибутива Anaconda на Windows
- Как запустить Jupyter Notebook
- Код на Python
- Установка новых пакетов
- Два Питона на одном компьютере
- Markdown в Jupyter Notebook
- Формулы на LaTeX
- Программирование на R
- Conda
- Anaconda Prompt
- Anaconda Navigator
- JupyterLab
- Вопросы для закрепления
- Ответы на вопросы
Как установить Jupyter Notebook
Способ 1. Если на вашем компьютере уже установлен Питон, то установить Jupyter Notebook можно через менеджер пакетов pip.
Способ 2 (рекомендуется). Кроме того, Jupyter Notebook входит в дистрибутив Питона под названием Anaconda.
На сегодняшнем занятии мы рассмотрим именно второй вариант установки.
Anaconda
Anaconda — это дистрибутив Питона и репозиторий пакетов, специально предназначенных для анализа данных и машинного обучения.
Основу дистрибутива Anaconda составляет система управления пакетами и окружениями conda.
Conda можно управлять двумя способами, а именно через Anaconda Prompt — программу, аналогичную командной строке Windows, или через Anaconda Navigator — понятный графический интерфейс.
Кроме того, в дистрибутив Anaconda входит несколько полезных программ:
- Jupyter Notebook и JupyterLab — это программы, позволяющие исполнять код на Питоне (и, как мы увидим, на других языках) и обрабатывать данные.
- Spyder и PyCharm представляют собой так называемую интегрированную среду разработки (Integrated Development Environment, IDE). IDE — это редактор кода наподобие программы Atom или Sublime Text с дополнительными возможностями автодополнения, компиляции и интерпретации, анализа ошибок, отладки (debugging), подключения к базам данных и др.
- RStudio — интегрированная среда разработки для программирования на R.
На схеме структура Anaconda выглядит следующим образом:

Установка дистрибутива Anaconda на Windows
Шаг 1. Скачайте Anaconda⧉ с официального сайта.
Шаг 2. Запустите установщик.
На одном из шагов установки вам предложат поставить две галочки, в частности (1) добавить Anaconda в переменную path и (2) сделать дистрибутив Anaconda версией, которую Windows обнаруживает по умолчанию.

Не отмечайте ни один из пунктов!
Так вы сможете использовать два дистрибутива Питона, первый дистрибутив мы установили на прошлом занятии, второй — сейчас.
Как запустить Jupyter Notebook
После того как вы скачали и установили Anaconda, можно переходить к запуску ноутбука.
Шаг 1. Откройте Anaconda Navidator
Открыть Anaconda Navigator можно двумя способами.
Способ 1. Запуск из меню «Пуск». Просто перейдите в меню «Пуск» и выберите Anaconda Navigator.

Способ 2. Запуск через Anaconda Prompt. Также из меню «Пуск» откройте терминал Anaconda Prompt.

Введите команду anaconda-navigator .

В результате должно появиться вот такое окно.

Шаг 2. Откройте Jupyter Notebook
Теперь выберите Jupyter Notebook и нажмите Launch («Запустить»).

Замечу, что Jupyter Notebook можно открыть не только из Anaconda Navigator, но и через меню «Пуск», а также введя в терминале Anaconda Prompt команду jupyter-notebook .
В результате должен запуститься локальный сервер, и в браузере откроется перечень папок вашего компьютера.

Шаг 3. Выберите папку и создайте ноутбук
Выберите папку, в которой хотите создать ноутбук. В моем случае я выберу Рабочий стол (Desktop).
Теперь в правом верхнем углу нажмите New → Python 3.

Мы готовы писать и исполнять код точно также, как мы это делаем в Google Colab.

Импортируем библиотеку Numpy и создадим массив.

Шаг 4. Сохраните ноутбук и закройте Jupyter Notebook
Переименуйте ноутбук в mynotebook (для этого, как и в Google Colab, отредактируйте само название непосредственно в окне ноутбука). Сохранить файл можно через File → Save and Checkpoint.

Обратите внимание, помимо файла mynotebook.ipynb, Jupyter Notebook создал скрытую папку .ipynb_checkpoints. В ней хранятся файлы, которые позволяют вернуться к предыдущей сохраненной версии ноутбука (предыдущему check point). Сделать это можно, нажав File → Revert to Checkpoint и выбрав дату и время предыдущей сохраненной версии кода.
Когда вы закончили работу, закройте вкладку с ноутбуком. Остается прервать работу локального сервера, нажав Quit в правом верхнем углу.

Особенности работы
Давайте подробнее поговорим про возможности Jupyter Notebook. Снова запустим только что созданный ноутбук любым удобным способом.
Код на Python
В целом мы пишем обычный код на Питоне.
Вкладка Cell
Для управления запуском или исполнением ячеек можно использовать вкладку Cell.

Здесь мы можем, в частности:
- Запускать ячейку и оставаться в ней же через Run Cells
- Исполнять все ячейки в ноутбуке, выбрав Run All
- Исполнять все ячейки выше (Run All Above) или ниже текущей (Run All Below)
- Очистить вывод ячеек, нажав All Output → Clear
Вкладка Kernel
Командами вкладки Kernel мы управляем ядром (kernel) или вычислительным «движком» ноутбука.

В этой вкладке мы можем, в частности:
- Прервать исполнение ячейки командой Interrupt. Это бывает полезно, если, например, исполнение кода занимает слишком много времени или в коде есть ошибка и исполнение кода не прервется самостоятельно.
- Перезапустить kernel можно командой Restart. Кроме того, можно
- очистить вывод (Restart & Clear Output) и
- заново запустить все ячейки (Restart & Run All)
Несколько слов про то, что такое ядро и как в целом функционирует Jupyter Notebook.

Пользователь взаимодействует с ноутбуком через браузер. Браузер в свою очередь отправляет запросы на сервер. Функция сервера заключается в том, чтобы загружать ноутбук и сохранять внесенные изменения в формате JSON с расширением .ipynb. Одновременно, сервер обращается к ядру в тот момент, когда необходимо обработать код на каком-либо языке (например, на Питоне).
Такое «разделение труда» между браузером, сервером и ядром позволяет во-первых, запускать Jupyter Notebook в любой операционной системе, во-вторых, в одной программе исполнять код на нескольких языках, и в-третьих, сохранять результат в файлах одного и того же формата.
Возможность программирования на нескольких языках (а значит использование нескольких ядер) мы изучим чуть позже, а пока посмотрим как устанавливать новые пакеты для Питона внутри Jupyter Notebook.
Установка новых пакетов
Установить новые пакеты в Anaconda можно непосредственно в ячейке, введя !pip install . Например, попробуем установить Numpy.

Система сообщила нам, что такой пакет уже установлен. Более того, мы видим путь к папке внутри дистрибутива Anaconda, в которой Jupyter «нашел» Numpy.
При подготовке этого занятия я использовал два компьютера, поэтому имя пользователя на скриншотах указано как user или dmvma. На вашем компьютере при указании пути к файлу используйте ваше имя пользователя.
В последующих разделах мы рассмотрим дополнительные возможности по установке пакетов через Anaconda Prompt и Anaconda Navigator.
По ссылке ниже вы можете скачать код, который мы создали в Jupyter Notebook.
Два Питона на одном компьютере
Обращу ваше внимание, что на данный момент на моем компьютере (как и у вас, если вы проделали шаги прошлого занятия) установлено два Питона, один с сайта www.python.org⧉, второй — в составе дистрибутива Anaconda.
Посмотреть на установленные на компьютеры «Питоны» можно, набрав команду where python в Anaconda Prompt.

Указав полный или абсолютный путь (absolute path) к каждому из файлов python.exe, мы можем в интерактивном режиме исполнять код на версии 3.8 (установили с www.python.org) и на версии 3.10 (установили в составе Anaconda). При запуске файла python.exe из папки WindowsApps система предложит установить Питон из Microsoft Store.
В этом смысле нужно быть аккуратным и понимать, какой именно Питон вы используете и куда устанавливаете очередной пакет.
В нашем случае мы настроили работу так, чтобы устанавливать библиотеки для Питона с www.python.org через командную строку Windows, и устанавливать пакеты в Анаконду через Anaconda Prompt.
Убедиться в этом можно, проверив версии Питона через python —version в обеих программах.

Теперь попробуйте ввести в них команду pip list и сравнить установленные библиотеки.
Markdown в Jupyter Notebook
Вернемся к Jupyter Notebook. Помимо ячеек с кодом, можно использовать текстовые ячейки, в которых поддерживается язык разметки Markdown. Мы уже коротко рассмотрели этот язык на прошлом занятии, когда создавали пакет на Питоне.
По большому счету, с помощью несложных команд Markdown, вы говорите Jupyter как отформатировать ту или иную часть текста.
Рассмотрим несколько основных возможностей форматирования (для удобстства и в силу практически полного совпадения два последующих раздела приведены в ноутбуке Google Colab).
Заголовки
Заголовки создаются с помощью символа решетки.
Вставка и обновление содержимого из записной книжки Jupyter
Пакет разработки Learn, Visual Studio Code мета-расширение состоит из нескольких вложенных расширений. Эта функция включена в расширение Learn Markdown . Расширение Learn Markdown входит в состав пакета Разработки Learn, его нет необходимости устанавливать отдельно.
Функции вставки и обновления содержимого из записной книжки Jupyter сейчас не работают на Mac.
Сводка
Записные книжки Jupyter — это стандартный способ интерактивного создания и совместного использования кода в мире Python. Такая книжка сочетает код Python, разметку Markdown и (необязательно) получаемые из кода выходные данные.
Расширение Learn Authoring Pack включает функции для добавления статической версии Markdown записной книжки Jupyter в документ:
Learn: insert Jupyter notebook (Вставить записную книжку Jupyter). Введите URL-адрес записной книжки. Markdown-версия записной книжки будет добавлена в документ в месте расположения курсора. Не изменяйте начальный и конечный теги. Они используются следующей функцией для обновления записной книжки.
Сведения. Обновление записной книжки Jupyter. Эта функция заменит ранее вставленное содержимое записной книжки между началом и концом на последнюю версию. Вводить URL-адрес не нужно, он записан в начальном теге. Функция обновления предполагает, что документ содержит только одну записную книжку. Не добавляйте несколько записных книжек в один документ.
Доступ к функциям
- Нажмите клавиши CTRL+SHIFT+P , чтобы открыть палитру команд, а затем начните вводить имя функции, пока она не появится. Выберите функцию.
- Вы также можете получить доступ к записной книжке Вставка Jupyter из меню Learn Markdown Authoring, введя ALT+M. Прокрутите вниз, чтобы найти Jupyter Notebook.
В действии
Ниже приведена краткая демонстрация этой функции.
Устранение неполадок
Функции вставки и обновления содержимого из записной книжки Jupyter сейчас не работают на Mac.
Для использования этих функций на компьютере должны быть установлены Python, jupyter и nbconvert .
Чтобы узнать наличие установки Python, откройте терминал VS Code и выполните следующую команду:
- Для Windows — where python .
- Для Linux и Mac — which python .
Возврат хотя бы одного пути подтверждает, что установка Python присутствует. В противном случае установите Python.
Затем проверьте установку jupyter :
- Для Windows — where jupyter .
- Для Linux и Mac — which jupyter .
Если путь не возвращается, установите jupyter :
pip install --upgrade jupyterПосле установки Python и jupyter установите nbconvert :
pip install --upgrade nbconvert
