I had the exact same problem and it was driving me crazy. Other answers provide a solution, but they don’t explain why you and I are having this problem.
I will try to explain why this is happening and then provide some solutions.
You can go to the end to see the TL;DR.
1)What’s going on? Why is this error happening?
I’ll try to make a step-by-step answer so everything is explained clearly.
If you think it’s too basic at the beginning, go to the end of this «article».
I’ll first start with common things like running the python
shell from the terminal or running pip
. You’ll see why you can do that from the terminal and we’ll end up on why and how you can run the jupyter
notebook from the terminal as well.
Ready? Let’s start!
Have you ever wondered why you can type python
in the terminal (command prompt) and suddenly start the Python interpreter?
Microsoft Windows [Version 10.0.18363.1440]
(c) 2019 Microsoft Corporation. All rights reserved.
C:UsersYOUR-USERNAME>python
Python 3.9.1 (tags/v3.9.1:1e5d33e, Dec 7 2020, 17:08:21) [MSC v.1927 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>
You probably already know (but maybe don’t) that this is because Python was added to the Windows PATH
environment variable. You probably did it at installation time or afterwards.
But, what is this PATH environment variable?
It basically allows you to run any executables, that are located inside
the paths specified in the variable, at the command prompt without
having to give the full path to the executable.
You can check the content of that PATH
variable with:
>>> import sys
>>> for path in sys.path:
print(path)
C:UsersYOUR-USERNAMEAppDataLocalProgramsPythonPython39python39.zip
C:UsersYOUR-USERNAMEAppDataLocalProgramsPythonPython39DLLs
C:UsersYOUR-USERNAMEAppDataLocalProgramsPythonPython39lib
C:UsersYOUR-USERNAMEAppDataLocalProgramsPythonPython39
C:UsersYOUR-USERNAMEAppDataLocalProgramsPythonPython39libsite-packages
... (some other paths were taken out for clarity)
You can see this folder: C:UsersYOUR-USERNAMEAppDataLocalProgramsPythonPython39
. This is the place where Python version 3.9 is installed. Let’s check its content:
<DIR> DLLs
<DIR> Doc
<DIR> etc
<DIR> include
<DIR> Lib
<DIR> libs
<DIR> Scripts
<DIR> share
<DIR> tcl
<DIR> Tools
LICENSE.txt
NEWS.txt
python.exe
python3.dll
python39.dll
pythonw.exe
vcruntime140.dll
vcruntime140_1.dll
Voilà! We have the python.exe
file (an executable). We have a Python executable file in the PATH
, that’s why you can start the Python interpreter from the terminal with just typing python
. If this wasn’t the case you would have to type the full path to the executable file in the terminal:
C:UsersYOUR-USERNAME> C:UsersYOUR-USERNAMEAppDataLocalProgramsPythonPython39python)
Instead of just:
C:UsersYOUR-USERNAME> python
And what about when you use pip
?
It’s the same principle. You can run pip
from the terminal because there is a pip
executable file in the PATH
variable.
If you go to C:UsersYOUR-USERNAMEAppDataLocalProgramsPythonPython39Scripts
(which is in the PATH
showed above) you’ll see many executables files. One of them is pip
. Actually I have three versions: pip
, pip3.9
and pip3
.
The Scripts
folder allows exectuable files to be run from the terminal. Like pip
or other libraries that you intend to run directly from the terminal. The Scripts
folder:
…is not intended for you, it’s for scripts that are installed as
components of modules that you install. For example, pip is a module,
but it also has a wrapper script by the same name, pip, which will be
installed in that directory.If you put something there and it is properly in your PATH, then it
should be executable
That wrapper script would be the pip
executable file. When this executable file is run, it locates the pip
folder in the Python installation folder and runs pip
.
But you could also run pip
directly from the installation folder (C:UsersYOUR-USERNAMEAppDataLocalProgramsPythonPython39Libsite-packages
), without needing the executable pip
file.
But, how can you do it?
I’m glad you ask. There is a Python way to run modules as the main module (without the need to import it).
python -m pip
When you run a module directly its name becomes __main__
. What -m
does is:
Search
sys.path
for the named module and execute its contents as the__main__
module.
What is __main__
?
'__main__'
is the name of the scope in which top-level code executes.A module’s
__name__
is set equal to'__main__'
when read from standard
input, a script, or from an interactive prompt.
…
I guess that the pip
executable does something similar, or at least, has the same effect: to start pip
.
2)What does this have to do with the Jupyter Notebook?!
Think of the Jupyter Notebook
as the same as pip
. If you want to run jupyter
in the terminal, you need an executable that it’s on the PATH
.
We have already seen that the executables of modules like pip
or jupyter
are located here C:UsersYOUR-USERNAMEAppDataLocalProgramsPythonPython39Scripts
.
If I check the content of the folder I see this:
easy_install-3.9.exe
easy_install.exe
f2py.exe
jsonschema.exe
jupyter-bundlerextension.exe
jupyter-console.exe
jupyter-nbconvert.exe
jupyter-nbextension.exe
jupyter-notebook.exe
jupyter-qtconsole.exe
jupyter-serverextension.exe
jupyter-trust.exe
pip.exe
pip3.9.exe
pip3.exe
I see the already mentioned pip
, pip3.9
and pip3
. But I don’t see jupyter
(the word «jupyter» alone).
If I type jupyter
in the terminal I get the error that started all:
'jupyter' is not recognized as an internal or external command, operable program or batch file.
Finally we’ve reached an answer to your question!!!
‘jupyter’ is not recognized as a command because there is no executable file in the Scripts
folder called jupyter
.
So, let’s try a different executable. What about jupyter-notebook
?
BINGO! The notebook is running!
Serving notebooks from local directory:
C:UsersYOUR-USERNAMEAppDataLocalProgramsPythonPython39Scripts
Jupyter Notebook 6.3.0 is running at:
http://localhost:8888/?token=... (edited)
or http://127.0.0.1:8888/?token=... (edited)
Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
I don’t know why I don’t have a jupyter
executable called ‘jupyter’. The official documentation says to use jupyter notebook
on the terminal, but it seems that in some cases it doesn’t work. And I think it has to do with what I mentioned above: there is no jupyter
exectuable in the Scripts
folder.
If you remember, I told you that you can run pip
as the main module using python -m pip
.
It happens that you can do the same with jupyter
.We just need to know how to call it. As in with pip
, we have to check the folder where 3rd party libraries are installed: C:UsersYOUR-USERNAMEAppDataLocalProgramsPythonPython39Libsite-packages
.
You’ll see jupyter_console
, but this just creates an interactive notebook in the terminal, not exactly what you were looking for. You’re also going to find folders ending with .dist.info
, like jupyter_console-6.4.0.dist-info
. This is just metadata of the Wheel Binary Package builder. You’ll also see a folder like jupyterlab_pygments
, but that’s for JupyterLab
. We want to use the classic Jupyter notebook.
What we want is to run notebook
. How do we know this?
You’ll see in the folder site-packages
the folder (package) notebook
. Inside there is a file called __main__.py
:
#__main__.py
if __name__ == '__main__':
from notebook import notebookapp as app
app.launch_new_instance()
It’s calling notebookapp.py
which is a «A tornado based Jupyter notebook server.» Yes, this is what we need.
We can see that launch_new_instance
in the notebookapp
calls launch_instance()
, which «launches an instance of a Jupyter Application«.
Perfect! We are in the correct folder. To run the jupyter notebook from the Python interactive shell we have to run the notebook package with:
python -m notebook
3)*** SUMMARY: SOLUTION ***
tl;dr:
I have explained and showed why this error is happening.
Now let’s summarize the solutions:
-
To know the name of the
jupyter
executable (in theScripts
folder), so you can run directly from the terminal (Command Prompt) as:jupyter notebook
or as:
jupyter-notebook
Or whatever name you have.
-
Run the notebook as the main module from Python:
python -m notebook
I hope this helps you as much as it helped me. I’m open to your comments and suggestions.
I cannot get jupyter running from my Command line using:
jupyter notebook
jupyter is not recognised as an internal or external command, operable
program or batch file’
But I can get it running from pycharm (slick but with issues). When I take the kernel’s IP and Port from pycharm and paste it into my browser I can get it running from there.
I cannot use anaconda because of Arcpy, and I have dug around the jupyter files for some hints.
I’m assuming I need to add something to my path?
Vini.g.fer
11.4k16 gold badges58 silver badges88 bronze badges
asked Feb 1, 2016 at 15:28
3
Open cmd and type:
where jupyter
The output should be a link to Jupyter.
If where jupyter
doesn’t give a link that means the PATH doesn’t contain its location.
Add the link of Jupyter to PATH & it would work.
Also if you have ipython
& have upgraded, try ipython notebook
on cmd.
Refer: Running the Jupyter Notebook
answered May 7, 2016 at 10:23
Ani MenonAni Menon
26.5k16 gold badges101 silver badges122 bronze badges
Try to open it using the Anaconda Prompt. Just type jupyter notebook and press Enter.
Anaconda Prompt
has existed for a long time and is the correct way of using Anaconda. May be you have a broken installation somehow.
Try this, if the above doesn’t work-
In the Command Prompt type,
pip3 install jupyter
if you’re using Python3Else, if you are using Python2.7 then type
pip install jupyter
.
…Some installation should happen…
Now retry typing
jupyter notebook
in the CMD, it should work now.
answered Jan 26, 2018 at 20:49
1
This is an old question, but try using
python -m notebook
This was the only way I was able to get jupyter to start after installing it on the windows 10 command line using pip. I didn’t try touching the path.
answered Apr 4, 2020 at 3:44
bigboibigboi
631 silver badge5 bronze badges
For future reference: the first hurdle of starting with Python is to install it. I downloaded the Anaconda 4.4 for Windows, Python 3.6 64-bit installer.
After sorting the first hurdle of updating the «path» Environmental Variable, and running (at the Python prompt) «import pip», all the instructions I found to install the IPython Notebook generated errors. Submitting the commands «ipython notebook» or «jupyther notebook» from the Windows Command Prompt or the Python prompt generated error messages.
Then I found that the Anaconda installation consists of a host of applications, on of them being the «Jupyter Notebook» application accessible from the Start menu. This application launch (first a shell, then) a browser page.
The application points to a shortcut in , a directory set during the Anaconda installation. The shortcut itself refers to a few locations.
Ready for next hurdle.
answered Jun 16, 2017 at 21:29
If you use Python 3, try running the command from your virtual environment and or Anaconda command instead of your computer’s OS CMD.
double-beep
4,85916 gold badges32 silver badges41 bronze badges
answered Jan 26, 2020 at 10:15
PaschalPaschal
6871 gold badge9 silver badges17 bronze badges
To add Jupyter as the windows CLI Command.
You need to add the «C:UsersuserAppDataRoamingPythonPython38Scripts» into your environment path. This was to solve for me.
answered Jan 3, 2021 at 17:45
Go to Anaconda Command Prompt and type jupyter notebook and wait for 30 seconds. You can see that your local host site will automatically open.
answered Apr 5, 2018 at 4:52
Go to Scripts in your python directory (C:Python27Scripts) and check whether there is jupyter application. If so, you have a successfully installed version of jupyter.
Try adding the path to python scripts. It should work.
eg: C:Python27Scripts to
Path environment variables
answered Sep 17, 2019 at 16:27
I cannot get jupyter running from my Command line using:
jupyter notebook
jupyter is not recognised as an internal or external command, operable
program or batch file’
But I can get it running from pycharm (slick but with issues). When I take the kernel’s IP and Port from pycharm and paste it into my browser I can get it running from there.
I cannot use anaconda because of Arcpy, and I have dug around the jupyter files for some hints.
I’m assuming I need to add something to my path?
Vini.g.fer
11.4k16 gold badges58 silver badges88 bronze badges
asked Feb 1, 2016 at 15:28
3
Open cmd and type:
where jupyter
The output should be a link to Jupyter.
If where jupyter
doesn’t give a link that means the PATH doesn’t contain its location.
Add the link of Jupyter to PATH & it would work.
Also if you have ipython
& have upgraded, try ipython notebook
on cmd.
Refer: Running the Jupyter Notebook
answered May 7, 2016 at 10:23
Ani MenonAni Menon
26.5k16 gold badges101 silver badges122 bronze badges
Try to open it using the Anaconda Prompt. Just type jupyter notebook and press Enter.
Anaconda Prompt
has existed for a long time and is the correct way of using Anaconda. May be you have a broken installation somehow.
Try this, if the above doesn’t work-
In the Command Prompt type,
pip3 install jupyter
if you’re using Python3Else, if you are using Python2.7 then type
pip install jupyter
.
…Some installation should happen…
Now retry typing
jupyter notebook
in the CMD, it should work now.
answered Jan 26, 2018 at 20:49
1
This is an old question, but try using
python -m notebook
This was the only way I was able to get jupyter to start after installing it on the windows 10 command line using pip. I didn’t try touching the path.
answered Apr 4, 2020 at 3:44
bigboibigboi
631 silver badge5 bronze badges
For future reference: the first hurdle of starting with Python is to install it. I downloaded the Anaconda 4.4 for Windows, Python 3.6 64-bit installer.
After sorting the first hurdle of updating the «path» Environmental Variable, and running (at the Python prompt) «import pip», all the instructions I found to install the IPython Notebook generated errors. Submitting the commands «ipython notebook» or «jupyther notebook» from the Windows Command Prompt or the Python prompt generated error messages.
Then I found that the Anaconda installation consists of a host of applications, on of them being the «Jupyter Notebook» application accessible from the Start menu. This application launch (first a shell, then) a browser page.
The application points to a shortcut in , a directory set during the Anaconda installation. The shortcut itself refers to a few locations.
Ready for next hurdle.
answered Jun 16, 2017 at 21:29
If you use Python 3, try running the command from your virtual environment and or Anaconda command instead of your computer’s OS CMD.
double-beep
4,85916 gold badges32 silver badges41 bronze badges
answered Jan 26, 2020 at 10:15
PaschalPaschal
6871 gold badge9 silver badges17 bronze badges
To add Jupyter as the windows CLI Command.
You need to add the «C:UsersuserAppDataRoamingPythonPython38Scripts» into your environment path. This was to solve for me.
answered Jan 3, 2021 at 17:45
Go to Anaconda Command Prompt and type jupyter notebook and wait for 30 seconds. You can see that your local host site will automatically open.
answered Apr 5, 2018 at 4:52
Go to Scripts in your python directory (C:Python27Scripts) and check whether there is jupyter application. If so, you have a successfully installed version of jupyter.
Try adding the path to python scripts. It should work.
eg: C:Python27Scripts to
Path environment variables
answered Sep 17, 2019 at 16:27
This tutorial guides you on how to run Jupyter Notebook on Windows from command line. I have installed Python 3.x on Windows 10 and tried to run jupyter notebook from Windows command line. But it failed with the following error : No module named notebook.
> python -m notebook C:Users990AppDataLocalProgramsPythonPython38-32python.exe: No module named notebook
From the above error it is evident that jupyter is not installed on your windows machine.
Therefore, first you need to install Jupyter on Windows 10 using the following pip install command.
> pip install jupyter Collecting jupyter Downloading jupyter-1.0.0-py2.py3-none-any.whl (2.7 kB) Collecting notebook Downloading notebook-6.3.0-py3-none-any.whl (9.5 MB) |████████████████████████████████| 9.5 MB 547 kB/s Collecting jupyter-console Downloading jupyter_console-6.4.0-py3-none-any.whl (22 kB) Collecting qtconsole Downloading qtconsole-5.0.3-py3-none-any.whl (119 kB) |████████████████████████████████| 119 kB 467 kB/s Collecting ipykernel Downloading ipykernel-5.5.3-py3-none-any.whl (120 kB) |████████████████████████████████| 120 kB 1.7 MB/s Collecting ipywidgets Downloading ipywidgets-7.6.3-py2.py3-none-any.whl (121 kB) |████████████████████████████████| 121 kB 1.3 MB/s Collecting nbconvert Downloading nbconvert-6.0.7-py3-none-any.whl (552 kB) |████████████████████████████████| 552 kB 159 kB/s Collecting prometheus-client Downloading prometheus_client-0.10.1-py2.py3-none-any.whl (55 kB) ----------- ---------- -------- Using legacy setup.py install for pandocfilters, since package 'wheel' is not installed. Using legacy setup.py install for pywinpty, since package 'wheel' is not installed. Using legacy setup.py install for pyrsistent, since package 'wheel' is not installed. Installing collected packages: prometheus-client, ipython-genutils, traitlets, pywin32, jupyter-core, pywinpty, tornado, terminado, Send2Trash, mistune, pygments, jupyterlab-pygments, entrypoints, MarkupSafe, jinja2, testpath, pyparsing, packaging, six, webencodings, bleach, defusedxml, async-generator, pyzmq, python-dateutil, jupyter-client, attrs, pyrsistent, jsonschema, nbformat, nest-asyncio, nbclient, pandocfilters, nbconvert, pycparser, cffi, argon2-cffi, parso, jedi, wcwidth, prompt-toolkit, pickleshare, colorama, decorator, backcall, ipython, ipykernel, notebook, jupyter-console, qtpy, qtconsole, widgetsnbextension, jupyterlab-widgets, ipywidgets, jupyter Running setup.py install for pywinpty ... done Running setup.py install for pyrsistent ... done Running setup.py install for pandocfilters ... done Successfully installed MarkupSafe-1.1.1 Send2Trash-1.5.0 argon2-cffi-20.1.0 async-generator-1.10 attrs-20.3.0 backcall-0.2.0 bleach-3.3.0 cffi-1.14.5 colorama-0.4.4 decorator-5.0.7 defusedxml-0.7.1 entrypoints-0.3 ipykernel-5.5.3 ipython-7.22.0 ipython-genutils-0.2.0 ipywidgets-7.6.3 jedi-0.18.0 jinja2-2.11.3 jsonschema-3.2.0 jupyter-1.0.0 jupyter-client-6.1.12 jupyter-console-6.4.0 jupyter-core-4.7.1 jupyterlab-pygments-0.1.2 jupyterlab-widgets-1.0.0 mistune-0.8.4 nbclient-0.5.3 nbconvert-6.0.7 nbformat-5.1.3 nest-asyncio-1.5.1 notebook-6.3.0 packaging-20.9 pandocfilters-1.4.3 parso-0.8.2 pickleshare-0.7.5 prometheus-client-0.10.1 prompt-toolkit-3.0.18 pycparser-2.20 pygments-2.8.1 pyparsing-2.4.7 pyrsistent-0.17.3 python-dateutil-2.8.1 pywin32-300 pywinpty-0.5.7 pyzmq-22.0.3 qtconsole-5.0.3 qtpy-1.9.0 six-1.15.0 terminado-0.9.4 testpath-0.4.4 tornado-6.1 traitlets-5.0.5 wcwidth-0.2.5 webencodings-0.5.1 widgetsnbextension-3.5.1 WARNING: You are using pip version 20.1.1; however, version 21.0.1 is available. You should consider upgrading via the 'c:users990appdatalocalprogramspythonpython38-32python.exe -m pip install --upgrade pip' command.
Congratulations! you had installed Jupyter Notebook on Windows 10. To run the Jupyter Notebook, run the following command at the Command Prompt.
> python -m notebook [I 12:10:56.381 NotebookApp] Writing notebook server cookie secret to C:Users990AppDataRoamingjupyterruntimenotebook_cookie_secret [W 12:10:57.016 NotebookApp] Terminals not available (error was No module named 'winpty.cywinpty') [I 12:10:57.016 NotebookApp] Serving notebooks from local directory: C:Users990DocumentssneppetsWorkspacesPythonExamples [I 12:10:57.017 NotebookApp] Jupyter Notebook 6.3.0 is running at: [I 12:10:57.017 NotebookApp] http://localhost:8888/?token=2ad96578b2fddf1825107039bae731e076d7d8620967bfc3 [I 12:10:57.017 NotebookApp] or http://127.0.0.1:8888/?token=2ad96578b2fddf1825107039bae731e076d7d8620967bfc3 [I 12:10:57.017 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation). [C 12:10:57.070 NotebookApp] To access the notebook, open this file in a browser: file:///C:/Users/91990/AppData/Roaming/jupyter/runtime/nbserver-13252-open.html Or copy and paste one of these URLs: http://localhost:8888/?token=2ad96578b2fddf1825107039bae731e076d7d8620967bfc3 or http://127.0.0.1:8888/?token=2ad96578b2fddf1825107039bae731e076d7d8620967bfc3
Notebook server has been started from the command line. You should see notebook open in a browser as shown below. Note, it will open your default web browser to that URL as shown below.
After notebook opens in the default browser, you will see the Notebook Dashboard which will show list of notebooks, files and other subdirectories in the directory where the notebook server has started. Please note, I have only hello.py in the Jypyter folder path from where I started notebook server. Therefore you only see hello.py file.
That’s it. You had learnt how to install jupyter notebook on Windows 10. Also, learnt how to run jupyter notebook on Windows from command line.
Hope it helped 🙂
You’ll also like:
- Run a Jupyter Notebook .ipynb file from terminal or cmd prompt
- Amazon Linux AMI : apt-get command not found
- Linux: sudo: apt-get: command not found
- How to Start Stop Restart MariaDB on Linux OS ?
- Putty Fatal Error No supported authentication methods available
- How to find which users belongs to a specific group in linux
- Give write permissions for specific user or group for specific folder in linux
- How to unzip a zip file from Terminal (Google Cloud Shell)
- Build a Docker Image with a Dockerfile and Cloud Build in GCP?
- How to create GCP project on Google Cloud Platform
- MariaDB – How to set max_connections permanently ?
- How to create GCP project on Google Cloud Platform
- Is it possible to change Google Cloud Platform Project ID ?
- Create non-root SSH user account and provide access to specific folders
- MySQL : How to grant all privileges to the user on database ?
- How to install OpenJDK 11 in Ubuntu Machine ?
References
- jupyter
- Github
Все курсы > Программирование на Питоне > Занятие 14
Программа Jupyter Notebook — это локальная программа, которая открывается в браузере и позволяет интерактивно исполнять код на Питоне, записанный в последовательности ячеек.
Облачной версией Jupyter Notobook является программа Google Colab, которой мы уже давно пользуемся на курсах машинного обучения. Если вы проходили мои занятия, то в работе с этой программой для вас не будет почти ничего нового.
Способ 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 <package_name>. Например, попробуем установить 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).
Откроем ноутбук к этому занятию⧉
Заголовки
Заголовки создаются с помощью символа решетки.
# Заголовок 1 ## Заголовок 2 ### Заголовок 3 #### Заголовок 4 ##### Заголовок 5 ###### Заголовок 6 |
Если перед первым символом решетки поставить знак , Markdown просто выведет символы решетки.
Абзацы
Абзацы отделяются друг от друга пробелами.
Мы также можем разделять абзацы прямой линией.
Выделение текста
**Полужирный стиль** *Курсив* ~~Перечеркнутый стиль~~ |
Форматирование кода и выделенные абзацы
Мы можем выделять код внутри строки или отдельным абзацем.
Отформатируем код `print(‘Hello world!’)` внутри строки и отдельным абзацем «` print(‘Hello world!’) «` |
Возможно выделение и текстовых абзацев ( так называемые blockquotes).
> Markdown позволяет форматировать текст без использования тэгов. > > Он был создан в 2004 году Джоном Грубером и Аароном Шварцем. |
Списки
Посмотрим на создание упорядоченных и неупорядоченных списков.
**Упорядоченный список** 1. Пункт 1 1. Пункт 2 (нумерация ведется автоматически) **Неупорядоченный список** * Пункт 1.1 * Пункт 2.1 * Пункт 2.2 * Пункт 3.1 * Пункт 3.2 * Пункт 1.2 |
Ссылки и изображения
Текст ссылки заключается в квадратные скобки, сама ссылка — в круглые.
[сайт проекта Jupyter](https://jupyter.org/) |
Изображение форматируется похожим образом.
![логотипы Jupyter и Python](https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/jupyter-python.jpeg) |
Таблицы
| id | item | price | |— |———-| ——| | 01 | pen | 200 | | 02 | pencil | 150 | | 03 | notebook | 300 | |
Таблицы для Markdown бывает удобно создавать с помощью специального инструмента⧉.
Формулы на LaTeX
В текстовых полях можно вставлять формулы и математические символы с помощью системы верстки, которая называется LaTeX (произносится «латэк»). Они заключаются в одинарные или двойные символы $.
Если использовать одинарный символ $, то расположенная внутри формула останется в пределах того же абзаца. Например, запись
$ y = x^2 $ даст $ y = x^2 $.
В то время как
$$ y = x^2 $$ поместит формулу в новый абзац.
$$ y = x^2 $$
Одинарный символ добавляет пробел. Двойной символ \ переводит текст на новую строку.
$$ hat{y} = theta_0 + theta_1 x_1 + theta_2 x_2 + ... + theta_n x_n $$ |
Рассмотрим некоторые элементы синтаксиса LaTeX.
Форматирование текста
$ text{just text} $ $ textbf{bold} $ $ textit{italic} $ $ underline{undeline} $ |
Надстрочные и подстрочные знаки
hat $ hat{x} $ bar $ bar{x} $ vector $ vec{x} $ tilde $ tilde{x} $ superscript $ e^{ax + b} $ subscript $ A_{i, j} $ degree $ 90^{circ} $ |
Скобки
Вначале рассмотрим код для скобок в пределах высоты строки.
$$ (a+b) [a+b] {a+b} langle x+y rangle |x+y| |x+y| $$ |
Кроме того, с помощью
left(,
right), а также
left[,
right] и так далее можно увеличить высоту скобки. Сравните.
$$ left(frac{1}{2}right) qquad (frac{1}{2}) $$ |
Также можно использовать отдельные команды для скобок различного размера.
$$ big( Big( bigg( Bigg( big] Big] bigg] Bigg] big{ Big{ bigg{ Bigg{ $$ |
Дробь и квадратный корень
fraction $$ frac{1}{1+e^{—z}} $$ square root $ sqrt{sigma^2} $ |
Греческие буквы
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
|Uppercase | LaTeX |Lowercase | LaTeX | RU | |————— |———— |————— |———— |———— | |————— |———— |$alpha$ |alpha | альфа | |————— |———— |$beta$ |beta | бета | |$Gamma$ |Gamma |$gamma$ |gamma | гамма | |$Delta$ |Delta |$delta$ |delta | дельта | |————— |———— |$epsilon$ |epsilon | эпсилон | |————— |———— |$varepsilon$ |varepsilon | ———— | |————— |———— |$zeta$ |zeta | дзета | |————— |———— |$eta$ |eta | эта | |$Theta$ |Theta |$theta$ |theta | тета | |————— |———— |$vartheta$ |vartheta | ———— | |————— |———— |$iota$ |iota | йота | |————— |———— |$kappa$ |kappa | каппа | |$Lambda$ |Lambda |$lambda$ |lambda | лямбда | |————— |———— |$mu$ |mu | мю | |————— |———— |$nu$ |nu | ню | |$Xi$ |Xi |$xi$ |xi | кси | |————— |———— |$omicron$ |omicron | омикрон | |$Pi$ |Pi |$pi$ |pi | пи | |————— |———— |$varpi$ |varpi | ———— | |————— |———— |$rho$ |rho | ро | |————— |———— |$varrho$ |varrho | ———— | |$Sigma$ |Sigma |$sigma$ |sigma | сигма | |————— |———— |$varsigma$ |varsigma | ———— | |————— |———— |$tau$ |tau | тау | |$Upsilon$ |Upsilon |$upsilon$ |upsilon | ипсилон | |$Phi$ |Phi |$phi$ |phi | фи | |————— |———— |$varphi$ |varphi | ———— | |————— |———— |$chi$ |chi | хи | |$Psi$ |Psi |$psi$ |psi | пси | |$Omega$ |Omega |$omega$ |omega | омега | |
Латинские обозначения
$$ sin(—alpha) = —sin(alpha) cos(theta)=sin left( frac{pi}{2}—theta right) tan(x) = frac{sin(x)}{cos(x)} log_b(1) = 0 $$ |
Логические символы и символы множества
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
| LaTeX | symbol | | ——————————— | ————————————— | |Rightarrow | $ Rightarrow $ | |rightarrow | $ rightarrow $ | |longleftrightarrow | $ Leftrightarrow $ | |cap | $ cap $ | |cup | $ cup $ | |subset | $ subset $ | |in | $ in $ | |notin | $ notin $ | |varnothing | $ varnothing $ | |neg | $ neg $ | |forall | $ forall $ | |exists | $ exists $ | |mathbb{N} | $ mathbb{N} $ | |mathbb{Z} | $ mathbb{Z} $ | |mathbb{Q} | $ mathbb{Q} $ | |mathbb{R} | $ mathbb{R} $ | |mathbb{C} | $ mathbb{C} $ | |
Другие символы
| LaTeX | symbol | | ——————————— | ————————————— | | < | $ < $ | | leq | $ leq $ | | > | $ geq $ | | neq | $ neq $ | | approx | $ approx $ | | angle | $ angle $ | | parallel | $ parallel $ | | pm | $ pm $ | | mp | $ mp $ | | cdot | $ cdot $ | | times | $ times $ | | div | $ div $ | |
Кусочная функция и система уравнений
Посмотрим на запись функции sgn (sign function) средствами LaTeX.
$$ sgn(x) = left{ begin{array} 1 & mbox{if } x in mathbf{N}^* 0 & mbox{if } x = 0 —1 & mbox{else.} end{array} right. $$ |
Схожим образом записывается система линейных уравнений.
$$ left{ begin{matrix} 4x + 3y = 20 —5x + 9y = 26 end{matrix} right. $$ |
Горизонтальная фигурная скобка
$$ overbrace{ underbrace{a}_{real} + underbrace{b}_{imaginary} i} ^{textit{complex number}} $$ |
Предел, производная, интеграл
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
Пределы: $$ lim_{x to +infty} f(x) $$ $$ lim_{x to —infty} f(x) $$ $$ lim_{x to с} f(x) $$ Производная (нотация Лагранжа): $$ f‘(x) $$ Частная производная (нотация Лейбница): $$ frac{partial f}{partial x} $$ Градиент: $$ nabla f(x_1, x_2) = begin{bmatrix} frac{partial f}{partial x_1} frac{partial f}{partial x_2} end{bmatrix} $$ Интеграл: $$int_{a}^b f(x)dx$$ |
Сумма и произведение
Сумма: $$ sumlimits_{i=1}^n a_{i} $$ $$sum_{i=1}^n a_{i} $$ Произведение: $$prod_{j=1}^m a_{j}$$ |
Матрица
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
Без скобок (plain): $$ begin{matrix} 1 & 2 & 3 a & b & c end{matrix} $$ Круглые скобки (parentheses, round brackets): $$ begin{pmatrix} 1 & 2 & 3 a & b & c end{pmatrix} $$ Квадратные скобки (square brackets): $$ begin{bmatrix} 1 & 2 & 3 a & b & c end{bmatrix} $$ Фигурные скобки (curly brackets, braces): $$ begin{Bmatrix} 1 & 2 & 3 a & b & c end{Bmatrix} $$ Прямые скобки (pipes): $$ begin{vmatrix} 1 & 2 & 3 a & b & c end{vmatrix} $$ Двойные прямые скобки (double pipes): $$ begin{Vmatrix} 1 & 2 & 3 a & b & c end{Vmatrix} $$ |
Программирование на R
Jupyter Notebook позволяет писать код на других языках программирования, не только на Питоне. Попробуем написать и исполнить код на R, языке, который специально разрабатывался для data science.
Вначале нам понадобится установить kernel для R. Откроем Anaconda Prompt и введем следующую команду
conda install -c r r-irkernel. В процессе установки система спросит продолжать или нет (Proceed ([y]/n)?). Нажмите y + Enter.
Откройте Jupyter Notebook. В списке файлов создайте ноутбук на R. Назовем его rprogramming.
После установки нового ядра и создания еще одного файла .ipynb схема работы нашего Jupyter Notebook немного изменилась.
Теперь мы готовы писать код на R. Мы уже начали знакомиться с этим языком, когда изучали парадигмы программирования. Сегодня мы рассмотрим основные типы данных и особенности синтаксиса.
Переменные в R
Числовые, строковые и логические переменные
Как и в Питоне, в R мы можем создавать числовые (numeric), строковые (character) и логические (logical) переменные.
# поместим число 42 в переменную numeric_var numeric_var = 42 # строку поместим в переменную text_var text_var <— ‘Hello world!’ # наконец присвоим значение TRUE переменной logical_var TRUE -> logical_var |
Для присвоения значений можно использовать как оператор
=, так и операторы присваивания
<— и
->. Обратите внимание, используя
-> мы можем поместить значение слева, а переменную справа.
Посмотрим на результат (в Jupyter Notebook можно обойтись без функции print()).
Выведем класс созданных нами объектов с помощью функции class().
class(numeric_var) class(text_var) class(logical_var) |
‘numeric’ ‘character’ ‘logical’ |
Тип данных можно посмотреть с помощью функции typeof().
typeof(numeric_var) typeof(text_var) typeof(logical_var) |
‘double’ ‘character’ ‘logical’ |
Хотя вывод этих функций очень похож, мы, тем не менее, видим, что классу numeric соответствует тип данных double (число с плавающей точкой с двумя знаками после запятой).
Числовые переменные: numeric, double, integer
По умолчанию, в R и целые числа, и дроби хранятся в формате double.
# еще раз поместим число 42 в переменную numeric_var numeric_var <— 42 # выведем тип данных typeof(numeric_var) |
Принудительно перевести 42 в целочисленное значение можно с помощью функции as.integer().
int_var <— as.integer(numeric_var) typeof(int_var) |
Кроме того, если после числа поставить L, это число автоматически превратится в integer.
Превратить integer обратно в double можно с помощью функций as.double() и as.numeric().
typeof(as.double(int_var)) typeof(as.numeric(42L)) |
Если число хранится в формате строки, его можно перевести обратно в число (integer или double).
text_var <— ’42’ typeof(text_var) |
typeof(as.numeric(text_var)) # можно также использовать as.double() typeof(as.integer(text_var)) |
Вектор
Вектор (vector) — это одномерная структура, которая может содержать множество элементов одного типа. Вектор можно создать с помощью функции c().
# создадим вектор с информацией о продажах товара в магазине за неделю (в тыс. рублей) sales <— c(24, 28, 32, 25, 30, 31, 29) sales |
С помощью функций length() и typeof() мы можем посмотреть соответственно общее количество элементов и тип данных каждого из них.
# посмотрим на общее количество элементов и тип данных каждого из них length(sales) typeof(sales) |
У вектора есть индекс, который (в отличие, например, от списков в Питоне), начинается с единицы.
При указании диапазона выводятся и первый, и последний его элементы.
Отрицательный индекс убирает элементы из вектора.
Именованный вектор (named vector) создается с помощью функции names().
# создадим еще один вектор с названиями дней недели days_vector <— c(‘Понедельник’, ‘Вторник’, ‘Среда’, ‘Четверг’, ‘Пятница’, ‘Суббота’, ‘Воскресенье’) days_vector |
‘Понедельник’ ‘Вторник’ ‘Среда’ ‘Четверг’ ‘Пятница’ ‘Суббота’ ‘Воскресенье’ |
# создадим именованный вектор с помощью функции names() names(sales) <— days_vector sales |
Выводить элементы именованного вектора можно не только по числовому индексу, но и по их названиям.
Список
В отличие от вектора, список (list) может содержать множество элементов различных типов.
# список создается с помощью функции list() list(‘DS’, ‘ML’, c(21, 24), c(TRUE, FALSE), 42.0) |
[[1]] [1] «DS» [[2]] [1] «ML» [[3]] [1] 21 24 [[4]] [1] TRUE FALSE [[5]] [1] 42 |
Матрица
Матрица (matrix) в R — это двумерная структура, содержащая одинаковый тип данных (чаще всего числовой). Матрица создается с помощью функции matrix() с параметрами data, nrow, ncol и byrow.
- data — данные для создания матрицы
- nrow и ncol — количество строк и столбцов
- byrow — параметр, указывающий заполнять ли элементы матрицы построчно (TRUE) или по столбцам (FALSE)
Рассмотрим несколько примеров. Cоздадим последовательность целых чисел (по сути, тоже вектор).
# для этого подойдет функция seq() sqn <— seq(1:9) sqn typeof(sqn) |
1 2 3 4 5 6 7 8 9 ‘integer’ |
Используем эту последовательность для создания двух матриц.
# создадим матрицу, заполняя значения построчно mtx <— matrix(sqn, nrow = 3, ncol = 3, byrow = TRUE) mtx |
# теперь создадим матрицу, заполняя значения по столбцам mtx <— matrix(sqn, nrow = 3, ncol = 3, byrow = FALSE) mtx |
Зададим названия для строк и столбцов второй матрицы.
# создадим два вектора с названиями строк и столбцов rows <— c(‘Row 1’, ‘Row 2’, ‘Row 3’) cols <— c(‘Col 1’, ‘Col 2’, ‘Col 3’) # используем функции rownames() и colnames(), # чтобы передать эти названия нашей матрице rownames(mtx) <— rows colnames(mtx) <— cols # посмотрим на результат mtx |
Посмотрим на размерность этой матрицы с помощью функции dim().
Массив
В отличие от матрицы, массив (array) — это многомерная структура. Создадим трехмерный массив размерностью 3 х 2 х 3. Вначале создадим три матрицы размером 3 х 2.
# создадим три матрицы размером 3 х 2, # заполненные пятерками, шестерками и семерками a <— matrix(5, 3, 2) b <— matrix(6, 3, 2) c <— matrix(7, 3, 2) |
Теперь соединим их с помощью функции array(). Передадим этой функции два параметра в форме векторов: данные (data) и размерность (dim).
arr <— array(data = c(a, b, c), # вектор с матрицами dim = c(3, 2, 3)) # вектор размерности print(arr) |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
, , 1 [,1] [,2] [1,] 5 5 [2,] 5 5 [3,] 5 5 , , 2 [,1] [,2] [1,] 6 6 [2,] 6 6 [3,] 6 6 , , 3 [,1] [,2] [1,] 7 7 [2,] 7 7 [3,] 7 7 |
Факторная переменная
Факторная переменная или фактор (factor) — специальная структура для хранения категориальных данных. Вначале немного теории.
Как мы узнаем на курсе анализа данных, категориальные данные бывают номинальными и порядковыми. Номинальные категориальные (nominal categorical) данные представлены категориями, в которых нет естественного внутреннего порядка. Например, пол или цвет волос человека, марка автомобиля могут быть отнесены к определенным категориям, но не могут быть упорядочены.
Порядковые категориальные (ordinal categorical) данные наоборот обладают внутренним, свойственным им порядком. К таким данным относятся шкала удовлетворенности потребителей, класс железнодорожного билета, должность или звание, а также любая количественная переменная, разбитая на категории (например, низкий, средний и высокий уровень зарплат).
Посмотрим, как учесть такие данные с помощью R. Начнем с номинальных данных.
# предположим, что мы собрали данные о цветах нескольких автомобилей и поместили их в вектор color_vector <— c(‘blue’, ‘blue’, ‘white’, ‘black’, ‘yellow’, ‘white’, ‘white’) # преобразуем этот вектор в фактор с помощью функции factor() factor_color <— factor(color_vector) factor_color |
Как вы видите, функция factor() разбила данные на категории, при этом эти категории остались неупорядоченными. Посмотрим на класс созданного объекта.
Теперь поработаем с порядковыми данными.
# возьмем данные измерений температуры, выраженные категориями temperature_vector <— c(‘High’, ‘Low’, ‘High’,‘Low’, ‘Medium’, ‘High’, ‘Low’) # создадим фактор factor_temperature <— factor(temperature_vector, # указав параметр order = TRUE order = TRUE, # а также вектор упорядоченных категорий levels = c(‘Low’, ‘Medium’, ‘High’)) # посмотрим на результат factor_temperature |
Выведем класс созданного объекта.
class(factor_temperature) |
Добавлю, что количество элементов в каждой из категорий можно посмотреть с помощью функции summary().
summary(factor_temperature) |
Датафрейм
Датафрейм в R выполняет примерно ту же функцию, что и в Питоне. С помощью функции data.frame() создадим простой датафрейм, гда параметрами будут названия столбцов, а аргументами — векторы их значений.
df <— data.frame(city = c(‘Москва’, ‘Париж’, ‘Лондон’), population = c(12.7, 2.1, 8.9), country = c(‘Россия’, ‘Франция’, ‘Великобритания’)) df |
Доступ к элементам датафрейма можно получить по индексам строк и столбцов, которые также начинаются с единицы.
# выведем значения первой строки и первого столбца df[1, 1] |
# выведем всю первую строку df[1,] |
# выведем второй столбец df[,2] |
Получить доступ к столбцам можно и так.
Дополнительные пакеты
Как и в Питоне, в R мы можем установить дополнительные пакеты через Anaconda Prompt. Например, установим пакет ggplot2 для визуализации данных. Для этого введем команду
conda install r-ggplot2.
В целом команда установки пакетов для R следующая:
conda install r-<package_name>.
Продемонстрируем работу с этим пакетом с помощью несложного датасета mtcars.
# импортируем библиотеку datasets library(datasets) # загрузим датасет mtcars data(mtcars) # выведем его на экран mtcars |
Теперь импортируем установленную ранее библиотеку ggplot2.
Построим гистограмму по столбцу mpg (miles per galon, расход в милях на галлон топлива). Для построения гистограммы нам потребуется через «+» объединить две функции:
- функцию ggplot(), которой мы передадим наши данные и еще одну функцию aes(), от англ. aesthetics, которая свяжет ось x нашего графика и столбец данных mpg, а также
- функцию geom_histogram() с параметрами bins (количество интервалов) и binwidth (их ширина), которая и будет отвечать за создание гистограммы
# данными будет датасет mtcars, столбцом по оси x — mpg ggplot(data = mtcars, aes(x = mpg)) + # типом графика будет гистограмма с 10 интервалами шириной 5 миль на галлон каждый geom_histogram(bins = 10, binwidth = 5) |
Примерно также мы можем построить график плотности распределения (density plot). Только теперь мы передадим функции aes() еще один параметр
fill = as.factor(vs), который (предварительно превратив столбец в фактор через as.factor()) позволит разбить данные на две категории по столбцу vs. В этом датасете признак vs указывает на конфигурацию двигателя (расположение цилиндров), v-образное, v-shaped (vs == 0) или рядное, straight (vs == 1).
Кроме того, для непосредственного построения графика мы будем использовать новую функцию geom_density() с параметром alpha, отвечающим за прозрачность заполнения пространства под кривыми.
ggplot(data = mtcars, aes(x = mpg, fill = as.factor(vs))) + geom_density(alpha = 0.3) |
Дополнительно замечу, что к столбцам датафрейма можно применять множество различных функций, например, рассчитать среднее арифметическое или медиану с помощью несложных для запоминания mean() и median().
mean(mtcars$mpg) median(mtcars$mpg) |
Кроме того, мы можем применить уже знакомую нам функцию summary(), которая для количественного столбца выдаст минимальное и максимальное значения, первый (Q1) и третий (Q2) квартили, а также медиану и среднее значение.
Min. 1st Qu. Median Mean 3rd Qu. Max. 10.40 15.43 19.20 20.09 22.80 33.90 |
В файле ниже содержится созданный нами код на R.
Вернемся к основной теме занятия.
Подробнее про Anaconda
Conda
Программа conda, как уже было сказано, объединяет в себе систему управления пакетами (как pip) и, кроме того, позволяет создавать окружения.
Идея виртуального окружения (virtual environment) заключается в том, что если в рамках вашего проекта вы, например, используете определенную версию библиотеки Numpy и установка более ранней или более поздней версии приведет к сбоям в работе вашего кода, хорошим решением была бы изоляция нужной версии Numpy, а также всех остальных используемых вами библиотек. Именно для этого и нужно виртуальное окружение.
Рассмотрим, как мы можем устанавливать пакеты и создавать окружения через Anaconda Prompt и через Anaconda Navigator.
Anaconda Prompt
Про пакеты. По аналогии с pip, установленные (в текущем окружении) пакеты можно посмотреть с помощью команды
conda list.
Установить пакет можно с помощью команды
conda install <package_name>. Обновить пакет можно через
conda update <package_name>. Например, снова попробуем установить Numpy. о
Про окружения. По умолчанию мы работаем в базовом окружении (base environment). Посмотреть, какие в целом установлены окружения можно с помощью команды
conda info —envs.
Как вы видите, пока у нас есть только одно окружение. Давайте создадим еще одно виртуальное окружение и назовем его, например, waterfall.
Введите команду
conda create —name waterfall.
Введем две команды
- conda activate waterfall для активации нового окружения
- conda list для того, чтобы посмотреть установленные в нем пакеты
Как вы видите, в новом окружении нет ни одного пакета. Введем
conda search seaborn, чтобы посмотреть какие версии этого пакета доступны для скачивания.
Скачаем этот пакет через
conda install seaborn. Проверим установку с помощью
conda list.
Как вы видите, помимо seaborn было установлено множество других необходимых для работы пакета библиотек. Вернуться в базовое окружение можно с помощью команд
conda activate base или
conda deactivate.
Импорт модулей и переменная path
На прошлом занятии мы научились импортировать собственный модуль в командной строке Windows (cmd).
Посмотрим, отличается ли содержимое списка path для двух установленных версий Питона. Для этого в командной строке Windows и в Anaconda Prompt перейдем в интерактивный режим с помощью
python. Затем введем
Как мы видим, пути в переменной path будут отличаться и это нужно учитывать, если мы хотим локально запускать собственные модули.
Anaconda Navigator
Запускать программы, управлять окружениями и устанавливать необходимые библиотеки можно также через Anaconda Nagivator. На вкладке Home вы видите программы, которые можно открыть (launch) или установить (install) для текущего окружения.
На вкладке Environments отображаются созданные нами окружения (в частности, окружение waterfall, которое мы создали ранее) и содержащиеся в них пакеты.
В целом интерфейс интуитивно понятен, и так как мы уже познакомились с принципом создания окружений и установки в них дополнительных пакетов, уверен, работа с Anaconda Navigator сложностей не вызовет.
Прежде чем завершить, обратимся к еще одной программе для интерактивного программирования JupyterLab.
JupyterLab
JupyterLab — расширенная версия Jupyter Notebook, которая также входит в дистрибутив Anaconda. Запустить эту программу можно через Anaconda Navigator или введя команду
jupyter lab в Anaconda Prompt.
После запуска вы увидите вкладку Launcher, в которой можно создать новый ноутбук (Notebook) на Питоне или R, открыть консоль (Console) на этих языках, а также создать файлы в различных форматах (Other). Слева вы видите список папок компьютера.
В разделе Console нажмем на Python 3 (ipykernel). Введем несложный код (см. ниже) и исполним его, нажимая Shift + Enter.
Как вы видите, здесь мы можем писать код на Питоне так же, как мы это делали в командной строке Windows на прошлом занятии. Закроем консоль.
В файловой системе слева мы можем открывать уже созданные ноутбуки. Например, откроем ноутбук на R rprogramming.ipynb.
В левом меню на второй сверху вкладке мы видим открытые горизонтальные вкладки (Launcher и rprogramming.ipynb), а также запущенные ядра (kernels).
Консольные ядра (Console 1 и Console 2) можно открыть (по сути, мы снова запустим консоль).
Две оставшиеся вертикальные вкладки открывают доступ к автоматическому оглавлению (content) и расширениям (extensions).
Вкладки Run и Kernel в верхнем меню JupyterLab в целом аналогичны вкладкам Cell и Kernel в JupyterNotebook.
Подведем итог
На сегодняшнем занятии мы познакомились с программой Jupyter Notebook, а также изучили дистрибутив Anaconda, в состав которого входит эта программа.
Говоря о программе Jupyter Notebook, мы узнали про возможности работы с ячейками и ядром программы. Кроме того, мы познакомились с языком разметки Markdown и написанием формул с помощью языка верстки LaTeX.
После этого мы установили ядро для программирования на R и рассмотрели основы этого языка.
При изучении дистрибутива Anaconda мы позникомились с системой conda и попрактиковались в установке библиотек и создании окружений через Anaconda Prompt и Anaconda Navigator.
Наконец мы узнали про особенности программы JupyterLab.
Вопросы для закрепления
Вопрос. Что такое Anaconda?
Посмотреть правильный ответ
Ответ: Anaconda — это дистрибутив Питона (с репозиторием пакетов) и отдельной программой управления окружениями и пакетами conda. Пользователь может взаимодействовать с этой программой через терминал (Anaconda Prompt) и графический интерфейс (Anaconda Navigator).
Помимо этого, в дистрибутив Anaconda входят, среди прочих, программы Jupyter Notebook и JupyterLab.
Вопрос. Какой тип ячеек доступен в Jupyter Notebook?
Посмотреть правильный ответ
Ответ: в Jupyter Notebook есть два основных типа ячеек — ячейки для написания кода (в частности, на Питоне и R) и текстовые ячейки, поддерживающие Markdown и LaTeX.
Вопрос. Для чего нужно виртуальное окружение?
Посмотреть правильный ответ
Ответ: виртуальное окружение (virtual environment) позволяет установить и изолировать определенные версии Питона и его пакетов. Таким образом код, написанный с учетом конкретной версии Питона и дополнительных библиотек, исполнится без ошибок.
Ответы на вопросы
Вопрос. Можно ли исполнить код на R в Google Colab?
Ответ. Да, это возможно. Причем двумя способами.
Способ 1. Откройте ноутбук. Введите и исполните команду
%load_ext rpy2.ipython. В последующих ячейках введите
%R, чтобы в этой же строке написать код на R или
%%R, если хотите, чтобы вся ячейка исполнилась как код на R (так называемые магические команды).
В этом случае мы можем исполнять код на двух языках внутри одного ноутбука.
# введем магическую команду, которая позволит программировать на R %load_ext rpy2.ipython |
# команда %%R позволит Colab распознать ячейку как код на R %%R # кстати, числовой вектор можно создать просто с помощью двоеточия x <— 1:10 x |
# при этом ничто не мешает нам продолжать писать код на Питоне import numpy as np np.mean([1, 2, 3]) |
Приведенный выше код можно найти в дополнительных материалах⧉ к занятию.
Способ 2. Если вы хотите, чтобы весь код исполнялся на R (как мы это делали в Jupyter Notebook), создайте новый ноутбук используя одну из ссылок ниже:
- https://colab.research.google.com/#create=true&language=r⧉
- https://colab.to/r⧉
Теперь, если вы зайдете на вкладку Runtime → Change runtime type, то увидите, что можете выбирать между Python и R.
Выведем версию R в Google Colab.
‘R version 4.2.0 (2022-04-22)’ |
Посмотреть на установленные пакеты можно с помощью
installed.packages(). Созданный ноутбук Google Colab на R доступен по ссылке⧉.
Вопрос. Очень медленно загружается Anaconda. Можно ли что-то сделать?
Ответ. Можно работать через Anaconda Prompt, эта программа быстрее графического интерфейса Anaconda Navigator.
Кроме того, можно использовать дистрибутив Miniconda⧉, в который входит conda, Питон и несколько ключевых пакетов. Остальные пакеты устанавливаются вручную по мере необходимости.
Вопрос. Разве Jupyter не должен писаться через i, как Jupiter?
Ответ. Вы правы в том плане, что название Jupyter Notebook происходит не от планеты Юпитер, которая по-английски как раз пишется через i (Jupiter), а представляет собой акроним от названий языков программирования Julia, Python и R.
При этом, как утверждают разработчики⧉, слово Jupyter также отсылает к тетрадям (notebooks) Галилея, в которых он, в частности, документировал наблюдение за лунами Юпитера.
Вопрос. В каких еще программах можно писать код на Питоне и R?
Ответ. Таких программ несколько. Довольно удобно пользоваться облачным решением Kaggle. Там можно создавать как скрипты (scripts, в том числе RMarkdown Scripts), так и ноутбуки на Питоне и R. Подробнее можно почитать в документации⧉ на их сайте.
Вопрос. Можно ли создать виртуальное окружение каким-либо другим способом помимо программы conda?
Ответ. Да, можно. Вот здесь⧉ есть хорошая видео-инструкция.
Вот коротко какие шаги нужно выполнить.
Вначале убедитесь, что у вас уже установлен Питон. В нем по умолчанию содержится модуль venv, который как раз предназначен для создания виртуального окружения.
Шаг 1. Создайте папку с вашим проектом, например, пусть это будет папка webapp для веб-приложения на популярном фреймворке для Питона Django.
Шаг 2. В командной строке перейдите в папку webapp.
Затем введите команду для создания виртуального окружения.
По сути мы говорим Питону создать окружение djenv (название может быть любым) с помощью модуля venv. Переключатель (flag или switch)
-m подсказывает питону, что venv — это модуль, а не файл.
После выполнения этой команды создается папка djenv виртуального окружения.
Шаг 3. Активируем это виртуальное окружение следующей командой.
Здесь мы обращаемся к файлу activate внутри папки Scripts. Как вы видите, название окружения появилось слева от пути к папке.
Теперь через pip можно устанавливать пакеты, которые будут «видны» только внутри виртуального окружения djenv.
Шаг 4. Выйти из этого виртуального окружения можно с помощью команды deactivate. Если вам нужно удалить окружение, сначала деактивируйте его, а затем вручную удалите соответствующую папку.
На следующем занятии мы поговорим про такую важную тему, как регулярные выражения.
How to: Как установить Jupyter Notebook.
Introduction
Jupyter Notebook — это веб-приложение с открытым исходным кодом, позволяющее создавать документы, содержащие интерактивный код, уравнения, визуализации, текст и обмениваться ими. Используется для очистки и преобразования данных, численного моделирования, статистического моделирования, визуализации данных, машинного обучения и многого другого.
Requirements
Операционная система: Windows, Mac, Linux.
Python 3.3 или выше.
Installation
Для начала нам нужен Python.
Идем на сайт https://www.python.org/downloads/ и скачиваем последнюю версию для своей операционной системы.
Далее на примере Windows 10 pro запускаем установочный файл и перезапускаем компьютер.
Теперь нам надо убедиться, что у вас установлен python версии 3.3 и выше. На Mac и во многих дистрибутивах Linux python уже установлен по умолчанию. В Windows же его нужно устанавливать дополнительно.
Для этого открываем командную строку или cmd.
Вводим тескт python и нажимаем Enter.
Теперь, надо запустить Jupyter Notebook.
Для этого мы переоткрываем командную строку, и вводим python -m pip install jupyter и нажимаем Enter.
После этого начнется загрузка jupyter notebook.
Начало работы
Для начала работы, опять перезаходим в командную строку, печатаем jupyter-notebook и нажимаем Enter.
Это запустит сервер, а браузер откроет новую вкладку со следующим URL: https://localhost:8888/tree
В этой вкладке мы и будем работать. Вкладка cmd должна быть открыта на протяжении всей вашей работы с Jupyter Notebook.
3.1. Launching Jupyter Notebook App¶
The Jupyter Notebook App can be launched by clicking on the Jupyter Notebook
icon installed by Anaconda in the start menu (Windows) or by typing in
a terminal (cmd on Windows):
This will launch a new browser window (or a new tab) showing the
Notebook Dashboard, a sort of control panel that allows (among other things)
to select which notebook to open.
When started, the Jupyter Notebook App can access only files within its start-up folder
(including any sub-folder). No configuration is necessary if you place your notebooks
in your home folder or subfolders.
Otherwise, you need to choose a Jupyter Notebook App start-up folder which will contain
all the notebooks.
See below for platform-specific instructions on how to start
Jupyter Notebook App in a specific folder.
3.1.1. Change Jupyter Notebook startup folder (Windows)¶
- Copy the Jupyter Notebook launcher from the menu to the desktop.
- Right click on the new launcher and change the Target field, change %USERPROFILE% to
the full path of the folder which will contain all the notebooks. - Double-click on the Jupyter Notebook desktop launcher (icon shows [IPy]) to start the
Jupyter Notebook App. The notebook interface will appear in a new browser window or tab.
A secondary terminal window (used only for error logging and
for shut down) will be also opened.
3.1.2. Change Jupyter Notebook startup folder (Mac OS)¶
To launch Jupyter Notebook App:
- Click on spotlight, type
terminal
to open a terminal window. - Enter the startup folder by typing
cd /some_folder_name
. - Type
jupyter notebook
to launch the Jupyter Notebook App
The notebook interface will appear in a new browser window or tab.
3.2. Shut down the Jupyter Notebook App¶
Closing the browser (or the tab) will not close the
Jupyter Notebook App. To completely shut it down you need to
close the associated terminal.
In more detail,
the Jupyter Notebook App is a server that appears in your browser
at a default address (http://localhost:8888).
Closing the browser will not shut down the server.
You can reopen the previous address
and the Jupyter Notebook App will be redisplayed.
You can run many copies of the Jupyter Notebook App and they will show
up at a similar address (only the number after “:”, which is the port,
will increment for each new copy).
Since with a single Jupyter Notebook App you can already open many notebooks,
we do not recommend running multiple copies of Jupyter Notebook App.
3.3. Close a notebook: kernel shut down¶
When a notebook is opened, its “computational engine” (called the kernel)
is automatically started.
Closing the notebook browser tab, will not shut down the kernel,
instead the kernel will keep running until is explicitly shut down.
To shut down a kernel, go to the associated notebook
and click on menu File -> Close and Halt. Alternatively, the Notebook Dashboard
has a tab named Running that shows all the running notebooks (i.e. kernels)
and allows shutting them down (by clicking on a Shutdown button).
3.4. Executing a notebook¶
Download the notebook you want to execute and put it in your
notebook folder (or a sub-folder of it).
Then follow these steps:
- Launch the Jupyter Notebook App (see previous section).
- In the Notebook Dashboard navigate to find the notebook:
clicking on its name will open it in a new browser tab. - Click on the menu Help -> User Interface Tour for an overview
of the Jupyter Notebook App user interface. - You can run the notebook document step-by-step (one cell a time) by pressing
shift + enter. - You can run the whole notebook in a single step by clicking on the menu
Cell -> Run All. - To restart the kernel (i.e. the computational engine), click on the menu
Kernel -> Restart. This can be useful to start over a computation from
scratch (e.g. variables are deleted, open files are closed, etc…).
More information on editing a notebook:
- Notebook Basics
(or alternate link)
Note
Save notebooks: modifications to the notebooks are automatically saved every
few minutes. To avoid modifying the original notebook, make a
copy of the notebook document (menu File -> Make a copy …) and
save the modifications on the copy.
Warning
Pay attention to not open the same notebook document
on many tabs: edits on different tabs can overwrite each other!
To be safe, make sure you open each notebook document in only one tab.
If you accidentally open a notebook twice in two different tabs, just
close one of the tabs.
More info on the Jupyter Notebook App environment see References.
Jupyter Notebook — это командная оболочка для интерактивных вычислений. Этот инструмент может использоваться не только с Python, но и другими языками программирования: Julia, R, Haskell и Ruby. Он часто используется для работы с данными, статистическим моделированием и машинным обучением.
В статье мы рассмотрим, как настроить Jupyter Notebook для локального запуска или запуска на сервере под управлением Ubuntu 16.04. Этот инструмент поможет создавать файлы (notebooks), которые содержат не только компьютерный код, но и другие элементы (заметки, уравнения, диаграммы, ссылки и т.д.), которыми можно потом поделиться с заказчиками или друзьями.
После прочтения этой статьи вы будете знать, как запускать код Python 3 при помощи Jupyter Notebook локально или на удалённом сервере.
Требования
Нам понадобится среда программирования для Python 3, установленная либо на локальной машине, либо на сервере Ubuntu 16.04.
Jupyter Notebook можно установить при помощи пакетного менеджера pip
.
В статье будет использоваться виртуальное окружение с именем my_env
. Для установки пакета для работы с виртуальным окружением введите следующую команду в терминале:
$ sudo apt-get install -y python3-venv
Теперь мы готовы создать виртуальное окружение. Выбираем каталог, в который все будет установлено, или создаем новый каталог с mkdir
:
$ mkdir environments
$ cd environments
Как только вы переместитесь в нужную вам директорию, введите следующую команду в терминал:
$ pyvenv my_env
По сути, pyvenv
создает новый каталог, содержащий несколько элементов, которые мы можем просмотреть с помощью команды ls
:
$ ls my_env
Output
bin include lib lib64 pyvenv.cfg share
Для активации виртуального окружения вам осталось ввести последнюю команду:
$ source my_env/bin/activate
Затем нужно убедиться, что pip
был обновлен до последней версии:
(my_env) sammy@ubuntu: pip3 install --upgrade pip
Теперь можно установить Jupyter Notebook следующей командой:
(my_env) sammy@ubuntu: pip3 install jupyter
После этой строчки кода Jupyter Notebook будет установлен в активное виртуальное окружение.
Следующий шаг предназначен для тех, кто хочет подключиться к веб-интерфейсу, используя SSH-туннелирование.
Шаг 2 (необязательный). Запуск Jupiter Notebook на сервере
Для тех, кто установил Jupyter Notebook на удаленный сервер, нужно подключаться к веб-интерфейсу через SSH-туннель. Приложение использует порт 8888
(или же 8889
), а SSH-туннель поможет обезопасить соединение с сервером.
SSH-туннелирование с помощью Mac или Linux
Для тех, кто работает с macOS или Linux, нужно выполнить следующую команду в окне терминала:
$ ssh -L 8888:localhost:8888 your_server_username@your_server_ip
Команда ssh
создаст SSH-подключение, а флаг –L
перенаправит порт локального или клиентского хоста на хост и порт уделенного сервера. То есть все, что работает на порте 8888
с серверной стороны, будет работать на порте 8888
вашей локальной машины.
При необходимости можно изменить порт 8888
на один из ваших вариантов, чтобы избежать использования порта, который уже используется другим процессом:
server_username
— имя пользователя на сервере (например,sammy
);your_server_ip
— это IP-адрес сервера.
Например, для имени пользователя sammy
и адреса сервера 203.0.113.0
команда будет следующей:
$ ssh -L 8888:localhost:8888 sammy@203.0.113.0
Если после запуска команды ssh -L
не появляется ошибка, можно переходить в среду программирования и запустить Jupyter Notebook:
(my_env) sammy@ubuntu: jupyter notebook
После этого, вы получите результат содержащий URL-адрес. Введите его в окне браузера и перейдите к веб-интерфейсу Jupyter Notebook (http://localhost:8888
).
SSH-туннелирование с помощью Windows и Putty
Пользователи Windows могут создать туннель SSH, используя программу Putty.
Сначала нужно ввести URL-адрес сервера или IP-адрес имени хоста, как показано ниже на скриншоте:
Далее нажимаем SSH внизу левой панели, для раскрытия полного меню и нажимаем на слово Tunnels (туннели). Вводим номер локального порта, который будет использоваться для доступа к Jupyter на локальном компьютере. Выбираем порт 8000
или выше, чтобы избежать совпадения портов, используемых другими службами, и указываем назначение как localhost: 8888
, где: 8888
— это номер порта, через который работает Jupyter Notebook.
Теперь нажмите кнопку Add (добавить), и порты должны появиться в списке Forwarded ports (Переадресованные порты):
И после этого переходим по адресу http://localhost:8000
(или любым другим портом, который вы выбрали) в веб-браузере, чтобы подключиться к Jupyter Notebook, работающему на сервере.
Шаг 3. Запуск Jupyter Notebook локально
После окончания установки Jupyter Notebook можно запустить при помощи следующей команды в терминале:
(my_env) sammy@ubuntu: jupyter notebook
В терминале выведутся логи Jupyter Notebook. При запуске инструмент использует определенный порт. Обычно это 8888
. Для проверки порта, с которым работает Jupyter Notebook, используйте команду, при помощи которой запускался Jupyter Notebook:
Output
[I NotebookApp] Serving notebooks from local directory: /home/sammy
[I NotebookApp] 0 active kernels
[I NotebookApp] The Jupyter Notebook is running at: http://localhost:8888/
[I NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
...
Если вы используете Jupyter Notebook на локальном компьютере, а не на сервере, то при открытии веб-приложения Jupyter Notebook должен открыться ваш браузер по умолчанию. Если этого не произошло, можно открыть браузер вручную и перейти к http://localhost: 8888
для подключения.
Если нужно остановить процессы Jupyter Notebook, то нажмите CTRL + C
, а потом Y
при появлении запроса на закрытие и ENTER
для подтверждения.
Вы получите следующий результат:
Output
[C 12:32:23.792 NotebookApp] Shutdown confirmed
[I 12:32:23.794 NotebookApp] Shutting down kernels
Jupyter Notebook остановлен.
Шаг 4. Использование Jupyter Notebook
Пришло время начать использование Jupyter Notebook.
Теперь можно подключиться к нему с помощью веб-браузера. Jupyter Notebook — очень мощный инструмент и имеет множество функций. В этом разделе описываются некоторые основные функции, позволяющие начать работу с ним. Jupyter Notebook покажет все файлы и папки в каталоге, из которого он запущен, поэтому, когда начинается работа над проектом, обязательно нужно запускать его из каталога проекта.
Чтобы создать документ выбираем New → Python 3 в верхнем выпадающем меню:
После открытия документа можно запускать код Python в ячейке или использовать язык разметки Markdown. Чтобы изменить первую ячейку для работы с Markdown, нужно нажать в верхней панели навигации Cell → Cell Type → Markdown. Теперь можно создавать заметки с использованием Markdown и даже включать уравнения, написанные в LaTeX, помещая их между символами $$
. Например, попробуем ввести следующую команду в ячейку после включения Markdown:
# Simple Equation
Let us now implement the following equation:
$$ y = x^2$$
where $x = 2$
Чтобы переформатировать Markdown в форматированный текст, нажимаем CTRL + ENTER
и получаем следующие результаты:
Также можно использовать ячейки Markdown для написания кода. Для теста напишем небольшое уравнение и выведем результат. Нажимаем на верхнюю ячейку, нажимаем ALT+ENTER
для создания ячейки под ней и вводим следующий код в новую ячейку:
x = 2
y = x**2
print(y)
Чтобы запустить код, нажимаем CTRL + ENTER
и получаем следующие результаты:
Теперь у вас есть возможность импортировать модули и использовать Jupyter Notebook так же, как и в любой другой среде разработки Python!
Вывод
Поздравляем! Теперь вы можете написать воспроизводимый код Python и заметки в Markdown с помощью Jupyter Notebook. Для получения справки по использованию Jupyter Notebook нажмите Help → User Interface Tour в главном меню навигации.
Перевод статьи «How To Set Up Jupyter Notebook for Python 3»