Changing the Python Environment used by JupyterLab Desktop
JupyterLab Desktop comes with a bundled Python environment which has the essential Python packages for scientific computing and data science workflows. For more advanced use cases and specific needs, you can set the Python environment used by JupyterLab Desktop to another conda
, venv
, or pyenv
virtual environment available on your computer. This feature also enables you to reuse the same Python environment, that has your custom package installations, when you upgrade to a newer version of JupyterLab Desktop. You can change the Python environment by following the steps below.
- Active Python environment info is shown on the title bar. If you hover on it you will see the details of the environment such as its path and certain package versions.
- Click on the status item to launch JupyterLab Server Configuration dialog.
-
Choose
Use a custom Python environment
option and then clickSelect Python path
button. -
Select the Python executable (
python.exe
on Windows andpython
on macOS & Linux) of the custom environment you would like to use. Python executable can be found at the root directory of the virtual environment on Windows and in thebin
directory of the environment on macOS & Linux. -
Click
Apply & restart
to apply the changes. Newly selected environment will be checked for compatibility before applying the changes and you will be notified of any incompatibility issues.
Python environment selection is saved in application settings and restored at application launch time. During launch, compatibility of the Python environment is checked and if found incompatible, JupyterLab Server Configuration dialog is shown to allow switching back to the bundled environment or using another compatible environment.
Application settings are stored in JSON format in the following locations. You can check the pythonPath
setting in this file for troubleshooting. Setting it to empty string will cause JupyterLab Desktop to reset to the bundled Python environment.
- Windows:
%APPDATA%jupyterlab-desktopjupyterlab-desktop-data
- macOS:
~/Library/jupyterlab-desktop/jupyterlab-desktop-data
- Linux:
$XDG_CONFIG_HOME/jupyterlab-desktop/jupyterlab-desktop-data
or~/.config/jupyterlab-desktop/jupyterlab-desktop-data
Connecting to a remote JupyterLab Server
JupyterLab Desktop has two main components: the desktop client that is the frontend and the JupyterLab server which is the backend of the application. Frontend is designed to connect to any compatible JupyterLab server as its backend. JupyterLab Desktop can automatically launch a JupyterLab server at startup and connect to it, and it can also connect to an existing JupyterLab server instance that is running locally or remotely.
JupyterLab Server Configuration dialog lets you configure the backend connection by providing Start new local JupyterLab Server
and Connect to remote JupyterLab Server
options. In order to connect to an existing JupyterLab server, select Connect to remote JupyterLab Server
and enter the URL of the JupyterLab application including /lab
in the URL. If the server requires a token for authentication, make sure to include it as a query parameter of the URL as well (/lab?token=<token-value>
). Click the Validate
button to test the connection and check if the URL is for a valid JupyterLab server.
JupyterLab Desktop can connect to remote server instances that require additional authentication such as Single Sign-On (SSO). If the Persist session data
option is checked, then the session information is stored and JupyterLab Desktop will re-use this data on the next launch. If this option is not checked, the session data is automatically deleted at the next launch and servers requiring authentication will prompt for re-login. You can delete the stored session data manually at any time by clicking the Clear session data
button. Session data is automatically deleted when server URL is updated and when user switches to Start new local JupyterLab Server
option as well.
How to create a Custom Python Environment
Using conda
conda create -n custom_venv
conda activate custom_venv
conda install -c conda-forge jupyterlab==3.2.3
# install custom packages
conda install -c conda-forge scikit-learn
Using venv
python3 -m venv custom_venv source custom_venv/bin/activate pip install --upgrade pip pip install jupyterlab==3.2.3 # install custom packages pip install scikit-learn
Customizing the Bundled Python Environment
JupyterLab Desktop is a self-contained standalone desktop application which bundles a Python environment. The bundled Python environment comes with several popular Python libraries to make the application ready to use in scientific computing and data science workflows. These packages are numpy
, scipy
, pandas
, ipywidgets
and matplotlib
. In order to install additional packages into JupyterLab Desktop’s Python environment, you need to follow certain steps during and after the installation as described below.
Linux Instructions
On Linux, JupyterLab Desktop is installed into /opt/JupyterLab
and Python environment is created in ~/.config/jupyterlab-desktop/jlab_server
macOS Instructions
On macOS, JupyterLab Desktop is installed into /Applications/JupyterLab
and Python environment is created in ~/Library/jupyterlab-desktop/jlab_server
.
Windows Instructions
On Windows, there are two installers, one of them is run during initial setup for the main JupyterLab Desktop applicationa and the other one is run when a Python environment needs to be installed. Both of them should be installed to their default install locations. It is C:JupyterLab
for JupyterLab Desktop and C:Users<username>AppDataRoamingjupyterlab-desktopjlab_server
for JupyterLab Desktop Server.
Installing New Python Packages
Make sure you installed JupyterLab Desktop following the steps outlined above in order to have required permissions to install new Python packages.
- Open a Notebook and run the command below in a cell for the package you want to install. You will see the log of the installation process as the cell output.
%pip install <package_name>
For example: to install scikit-learn
%pip install scikit-learn
- In order to use the newly installed package you need to restart your active notebook’s kernel or create a new notebook
Uninstalling JupyterLab Desktop
Debian, Ubuntu Linux
sudo apt-get purge jupyterlab-desktop # remove application rm /usr/bin/jlab # remove command symlink # to remove application cache and bundled Python environment rm -rf ~/.config/jupyterlab-desktop
Red Hat, Fedora, SUSE Linux
sudo rpm -e jupyterlab-desktop # remove application rm /usr/bin/jlab # remove command symlink # to remove application cache and bundled Python environment rm -rf ~/.config/jupyterlab-desktop
macOS
Find the application installation JupyterLab.app
in Finder (in /Applications or ~/Applications) and move to Trash by using CMD + Delete
. Clean other application generated files using:
For versions 3.3.2-2 and newer
rm /usr/local/bin/jlab # remove command symlink # to remove application cache and bundled Python environment rm -rf ~/Library/jupyterlab-desktop
For versions 3.3.2-1 and older
rm /usr/local/bin/jlab # remove command symlink # to remove application cache and bundled Python environment rm -rf ~/Library/Application Support/jupyterlab-desktop
Windows
On Windows, JupyterLab Desktop is installed in two parts, one for the python environment and another for the application itself. Go to Windows Apps & Features
dialog using Start Menu
-> Settings
-> Apps
and make sure to uninstall the components in the following order:
- First uninstall JupyterLab Desktop python environment
- Then uninstall JupyterLab Desktop application
In order to remove application cache, delete C:Users<username>AppDataRoamingjupyterlab-desktop
directory.
Configuration
Copying configuration from previous installation
Starting with version v3.2.4-2 the configuration (jupyter-server
settings, jupyterlab
settings and workspaces, etc)
is no longer shared between JupyterLab Desktop and other installations of Jupyter(Lab) to avoid workspace leakage,
user confusion, and errors such as reported by users who had a pre-existing configuration clashing with a newer
version of Jupyter shipped with JupyterLab Desktop.
You can keep your previous JupyterLab settings by copying them over to the new configuration path:
- Run
jupyter --paths
to determine where yourconfig
is stored. - Find directory called
lab
in one of these paths. - If there is a
user-settings
directory inlab
, you can copy thelab
directory over to the configuration path of JupyterLab Desktop to keep your old JupyterLab settings. If there isworkspaces
directory you can decide if you want to keep or remove it.
For example, on Linux it could (depending on installation) require the following:
cp -r ~/.jupyter/lab/ ~/.config/jupyterlab-desktop
Warning: If you copy over settings from an older major version of JupyterLab (e.g. 2.x) those might cause an error on startup.
Installation |
Documentation |
Contributing |
License |
Team |
Getting help |
JupyterLab
An extensible environment for interactive and reproducible computing, based on the
Jupyter Notebook and Architecture. Currently ready for users.
JupyterLab is the next-generation user interface for Project Jupyter offering
all the familiar building blocks of the classic Jupyter Notebook (notebook,
terminal, text editor, file browser, rich outputs, etc.) in a flexible and
powerful user interface.
JupyterLab will eventually replace the classic Jupyter Notebook.
JupyterLab can be extended using npm packages
that use our public APIs. To find JupyterLab extensions, search for the npm keyword jupyterlab-extension or the GitHub topic jupyterlab-extension. To learn more about extensions, see the user documentation.
The current JupyterLab releases are suitable for general
usage, and the extension APIs will continue to
evolve for JupyterLab extension developers.
Read the latest version’s documentation on ReadTheDocs.
Getting started
Installation
JupyterLab can be installed using conda
or pip
. For more detailed instructions, consult the installation guide.
Project installation instructions from the git sources are available in the contributor documentation.
conda
If you use conda
, you can install it with:
conda install -c conda-forge jupyterlab
pip
If you use pip
, you can install it with:
pip install jupyterlab
If installing using pip install --user
, you must add the user-level bin
directory to your PATH
environment variable in order to launch jupyter lab
. If you are using a Unix derivative (FreeBSD, GNU / Linux, OS X), you can achieve this by using export PATH="$HOME/.local/bin:$PATH"
command.
Installing with Previous Versions of Jupyter Notebook
When using a version of Jupyter Notebook earlier than 5.3, the following command must be run
after installation to enable the JupyterLab server extension:
jupyter serverextension enable --py jupyterlab --sys-prefix
Running
Start up JupyterLab using:
jupyter lab
JupyterLab will open automatically in the browser. See the documentation for additional details.
If you encounter an error like «Command ‘jupyter’ not found», please make sure PATH
environment variable is set correctly. Alternatively, you can start up JupyterLab using ~/.local/bin/jupyter lab
without changing the PATH
environment variable.
Prerequisites and Supported Browsers
Jupyter notebook version 4.3 or later is required. To check the notebook version, run the command:
jupyter notebook --version
The latest versions of the following browsers are currently known to work:
- Firefox
- Chrome
- Safari
See our documentation for additional details.
Getting help
We encourage you to ask questions on the Discourse forum. A question answered there can become a useful resource for others.
Bug report
To report a bug please read the guidelines and then open a Github issue. To keep resolved issues self-contained, the lock bot will lock closed issues as resolved after a period of inactivity. If related discussion is still needed after an issue is locked, please open a new issue and reference the old issue.
Feature request
We also welcome suggestions for new features as they help make the project more useful for everyone. To request a feature please use the feature request template.
Development
Contributing
To contribute code or documentation to the project, please read the contributor documentation.
JupyterLab follows the Jupyter Community Guides.
Extending JupyterLab
To start developing an extension, see the developer documentation and the API docs.
License
JupyterLab uses a shared copyright model that enables all contributors to maintain the
copyright on their contributions. All code is licensed under the terms of the revised BSD license.
Team
JupyterLab is part of Project Jupyter and is developed by an open community. The maintenance team is assisted by a much larger group of contributors to JupyterLab and Project Jupyter as a whole.
JupyterLab’s current maintainers are listed in alphabetical order, with affiliation, and main areas of contribution:
- Afshin Darian, Two Sigma (co-creator, application/high-level architecture,
prolific contributions throughout the code base). - Vidar T. Fauske, JPMorgan Chase (general development, extensions).
- Tim George, Cal Poly (UI/UX design, strategy, management, user needs analysis)
- Brian Granger, AWS (co-creator, strategy, vision, management, UI/UX design,
architecture). - Eric Charles, Datalayer, (general development, extensions).
- Jason Grout, Bloomberg (co-creator, vision, general development).
- Max Klein, JPMorgan Chase (UI Package, build system, general development, extensions).
- Fernando Perez, UC Berkeley (co-creator, vision).
- Ian Rose, Quansight/City of LA (general core development, extensions).
- Saul Shanabrook, Quansight (general development, extensions)
- Steven Silvester, AWS (co-creator, release management, packaging,
prolific contributions throughout the code base).
Maintainer emeritus:
- Chris Colbert, Project Jupyter (co-creator, application/low-level architecture,
technical leadership, vision, PhosphorJS) - Cameron Oelsen, Cal Poly (UI/UX design).
- Jessica Forde, Project Jupyter (demo, documentation)
This list is provided to give the reader context on who we are and how our team functions.
To be listed, please submit a pull request with your information.
Weekly Dev Meeting
We have videoconference meetings every week where we discuss what we have been working on and get feedback from one another.
Anyone is welcome to attend, if they would like to discuss a topic or just to listen in.
- When: Wednesdays 9AM Pacific Time
- Where:
jovyan
Zoom - What: Meeting notes
Jupyter lab is an interactive development environment and the way forward for people using Jupyter notebook. It has become one of the most preferred ways to code in data science field and academia. Notebook cell-based structure was very convenient for doing data exploration, model building etc. but it was lagging in creating and running scripts or code from text files(.py, .R etc). Jupyter lab has removed these shortcomings and has added new useful features such as running code blocks from text files, edit and view popular data files, rearrange cells by dragging them etc. In this post, I will discuss how to install and configure it on windows so that it is more convenient to use.
Installing Jupyter Lab
Installing jupyter lab is very easy and might depend on how you have installed python. If you are using anaconda then most probably jupyter lab is already there. If not you can install it using the command:-
conda install -c conda-forge jupyterlab
If you are not using anaconda and have installed python separately, you can install it using
Pip install jupyter Pip install jupyterlab
It is important to have Jupyter notebook installed before installing Jupyter Lab. The first command installs Jupyter notebook in your system. You can skip it if it is already installed. Now, Let’s launch Jupyter lab by typing jupyter lab in command prompt.
Changing default directory
By default, Jupyter lab set up c:/users/username as the default directory. As can be seen in the above picture, it will show all of the files in that folder which can make the whole setup very cluttered. We can change the default directory so that it is easier to manage projects. For changing it, we will need to first generate jupyter lab configuration file.
Jupyter notebook --generate-config
This will create a configuration file at c:/users/username/.jupyter/jupyter_notebook_config.py.
Now, we can edit default directory location in this configuration file by defining the value of #c.NotebookApp.notebook_dir = ”. You will need to uncomment this by removing # and store the path of default desired directory there. You should use double quotes if there is any space in the directory path.
After changing the directory, relaunch the jupyter lab again. You will notice that project view has fewer files and directory.
Running it in chrome application mode
We can use application mode of chrome browser to convert Jupyter Lab in a standalone desktop app. It is useful as it will remove all the unnecessary toolbars and UI and gives a feeling of native application or IDE rather than a website running on your browser.
There are two ways to do this. Either you can launch in this mode manually every time or we can save configuration for this in jupyter lab configuration file and make it as our default launch.
Let’s first do it manually:-
$ jupyter lab --no-browser
It will launch Jupyter Lab without any browser. You will need to copy the token from the command prompt. After this start chrome in application mode and paste above token by typing below command in windows search bar
Chrome.exe --app=copied token
We can also put these options in the configuration file and make it default launch by adding following in the notebook config file
c.NotebookApp.browser = "C:/Program Files (x86)/Google/Chrome/Application/chrome.exe --app=%s"
It will launch Jupyter Lab like a standalone desktop app
and
Changing theme and making a shortcut for it
Jupyter lab has two inbuilt theme light and dark. Light theme is also the default one and you can switch to dark one by going to setting in Jupyter lab and clicking on Jupyeterlab Dark.
Also, we can make a shortcut on our desktop to launch jupyter. Follow this path Right click on the desktop > New > Shortcut to create a shortcut link. It will open a window and will ask you to input location path. You will need to input jupyterlab.exe path here. It will be in your python installation folder > scripts folder.
Click on next and give any name you want to and finish. Now you can see this shortcut on your desktop and click on it will launch jupyter lab. If you have any icon file then you can also use that to set an icon for this application by giving the path of the icon file in properties options.
Jupyter Lab is becoming one of the most convenient tools for the data scientist. By converting and configuring it, it becomes more convenient and easier to work with. Considering that you will be spending most of your time on this tool, it is important to use the most useful and comfortable tool. You can also look into installing few useful extensions on it so to expand its utility.
You can also check this post to know about available Jupyter Lab shortcut and magic functions.
Installation |
Documentation |
Contributing |
License |
Team |
Getting help |
An extensible environment for interactive and reproducible computing, based on the
Jupyter Notebook and Architecture. Currently ready for users.
JupyterLab is the next-generation user interface for Project Jupyter offering
all the familiar building blocks of the classic Jupyter Notebook (notebook,
terminal, text editor, file browser, rich outputs, etc.) in a flexible and
powerful user interface.
JupyterLab will eventually replace the classic Jupyter Notebook.
JupyterLab can be extended using npm packages
that use our public APIs. The prebuilt extensions can be distributed
via PyPI,
conda, and other package managers. The source extensions can be installed
directly from npm (search for jupyterlab-extension) but require an additional build step.
You can also find JupyterLab extensions exploring GitHub topic jupyterlab-extension.
To learn more about extensions, see the user documentation.
The current JupyterLab releases are suitable for general
usage, and the extension APIs will continue to
evolve for JupyterLab extension developers.
Read the current JupyterLab documentation on ReadTheDocs.
Getting started
Installation
JupyterLab can be installed using conda, mamba or pip. For more detailed instructions, consult the installation guide.
Project installation instructions from the git sources are available in the contributor documentation.
mamba and conda
If you use mamba
or conda
, you can install it with:
mamba install -c conda-forge jupyterlab
or
conda install -c conda-forge jupyterlab
pip
If you use pip
, you can install it with:
pip install jupyterlab
If installing using pip install --user
, you must add the user-level bin
directory to your PATH
environment variable in order to launch jupyter lab
. If you are using a Unix derivative (e.g., FreeBSD, GNU/Linux, macOS), you can do this by running export PATH="$HOME/.local/bin:$PATH"
. If you are using a macOS version that comes with Python 2, run pip3
instead of pip
.
Installing with Previous Versions of Jupyter Notebook
When using a version of Jupyter Notebook earlier than 5.3, the following command must be run
after installation to enable the JupyterLab server extension:
jupyter serverextension enable --py jupyterlab --sys-prefix
Running
Start up JupyterLab using:
jupyter lab
JupyterLab will open automatically in the browser. See the documentation for additional details.
If you encounter an error like «Command ‘jupyter’ not found», please make sure PATH
environment variable is set correctly. Alternatively, you can start up JupyterLab using ~/.local/bin/jupyter lab
without changing the PATH
environment variable.
Prerequisites and Supported Browsers
The latest versions of the following browsers are currently known to work:
- Firefox
- Chrome
- Safari
See our documentation for additional details.
Getting help
We encourage you to ask questions on the Discourse forum. A question answered there can become a useful resource for others.
Bug report
To report a bug please read the guidelines and then open a Github issue. To keep resolved issues self-contained, the lock bot will lock closed issues as resolved after a period of inactivity. If a related discussion is still needed after an issue is locked, please open a new issue and reference the old issue.
Feature request
We also welcome suggestions for new features as they help make the project more useful for everyone. To request a feature please use the feature request template.
Development
Extending JupyterLab
To start developing an extension for JupyterLab, see the developer documentation and the API docs.
Contributing
To contribute code or documentation to JupyterLab itself, please read the contributor documentation.
JupyterLab follows the Jupyter Community Guides.
License
JupyterLab uses a shared copyright model that enables all contributors to maintain the
copyright on their contributions. All code is licensed under the terms of the revised BSD license.
Team
JupyterLab is part of Project Jupyter and is developed by an open community. The maintenance team is assisted by a much larger group of contributors to JupyterLab and Project Jupyter as a whole.
JupyterLab’s current maintainers are listed in alphabetical order, with affiliation, and main areas of contribution:
- Mehmet Bektas, Splunk (general development, extensions).
- Alex Bozarth, IBM (general development, extensions).
- Eric Charles, Datalayer, (general development, extensions).
- Frédéric Collonval, QuantStack (general development, extensions).
- Martha Cryan, IBM (general development, extensions).
- Afshin Darian, Two Sigma (co-creator, application/high-level architecture,
prolific contributions throughout the code base). - Vidar T. Fauske, JPMorgan Chase (general development, extensions).
- Brian Granger, AWS (co-creator, strategy, vision, management, UI/UX design,
architecture). - Jason Grout, Bloomberg (co-creator, vision, general development).
- Michał Krassowski, University of Oxford (general development, extensions).
- Max Klein, JPMorgan Chase (UI Package, build system, general development, extensions).
- Gonzalo Peña-Castellanos, QuanSight (general development, i18n, extensions).
- Fernando Perez, UC Berkeley (co-creator, vision).
- Isabela Presedo-Floyd, QuanSight Labs (design/UX).
- Steven Silvester, Apple (co-creator, release management, packaging,
prolific contributions throughout the code base). - Jeremy Tuloup, QuantStack (general development, extensions).
Maintainer emeritus:
- Chris Colbert, Project Jupyter (co-creator, application/low-level architecture,
technical leadership, vision, PhosphorJS) - Jessica Forde, Project Jupyter (demo, documentation)
- Tim George, Cal Poly (UI/UX design, strategy, management, user needs analysis).
- Cameron Oelsen, Cal Poly (UI/UX design).
- Ian Rose, Quansight/City of LA (general core development, extensions).
- Andrew Schlaepfer, Bloomberg (general development, extensions).
- Saul Shanabrook, Quansight (general development, extensions)
This list is provided to give the reader context on who we are and how our team functions.
To be listed, please submit a pull request with your information.
Weekly Dev Meeting
We have videoconference meetings every week where we discuss what we have been working on and get feedback from one another.
Anyone is welcome to attend, if they would like to discuss a topic or just listen in.
- When: Wednesdays 9AM Pacific Time
- Where:
jovyan
Zoom - What: Meeting notes
Jupyter Notebook — это среда разработки для написания и выполнения кода Python. Некоммерческая организация Project Jupyter с открытым исходным кодом поддерживает программное обеспечение. Он состоит из последовательности ячеек, каждая из которых содержит небольшой пример кода или документацию в формате Markdown. Разработчики могут выполнить ячейку и увидеть ее вывод сразу под кодом. Гениальный дизайн создает мгновенную петлю обратной связи, позволяя программисту запускать свой код и вносить в него соответствующие изменения.
Ячейки Jupyter Notebook также поддерживают аннотации, аудиофайлы, видео, изображения, интерактивные диаграммы и многое другое. Это еще одно важное преимущество программного обеспечения; вы можете рассказать историю с вашим кодом. Читатели могут видеть шаги, которые вы выполнили, чтобы получить результат.
Вы можете импортировать пакеты Python, такие как pandas, NumPy или TensorFlow, прямо в Блокнот.
Jupyter Notebook – это веб-оболочка для Ipython (ранее называлась IPython Notebook). Это веб-приложение с открытым исходным кодом, которое позволяет создавать и обмениваться документами, содержащими живой код, уравнения, визуализацию и разметку.
Первоначально IPython Notebook ограничивался лишь Python в качестве единственного языка. Jupyter Notebook позволил использовать многие языки программирования, включая Python, R, Julia, Scala и F#.
Установка/инсталляция Jupyter Notebook — pip3 install jupyter
Install Jupyter Notebook на Ubuntu 20.14
Установка классического блокнота Jupyter без виртуальной среды осуществляется очень просто. Для этого необходимо запустить 2 команды:
pip install notebook
После этого на вашей рабочей машине установится jupyter notebook. Теперь его необходимо запустить командой:
jupyter notebook
Откроется окно по адресу localhost:8888/
Install Jupyter Notebook на Windows
Аналогично без виртуальной среды блокнот Jupyter можно установить и на винду. Запускаем команду:
pip install notebook
и после завершения установки запускаем команду:
jupyter-notebook
Установка Jupyter Notebook в Docker через Docker-Compose
todo
Установка Jupyter Notebook через virtual env на Windows
Создаем директорию проекта, например:
D:#python##envjupyter
Далее в этой директории создаем виртуальную среду с помощью команды:
python3 -m venv venv
или
python -m venv venv
Далее переходим в директорию D:#python##envjupytervenvScripts и запускаем activate. Должна активироваться среда venv:
D:#python##envjupytervenvScripts>activate (venv) D:#python##envjupytervenvScripts>
Далее запустите в активированной виртуальной среде venv установку jupyter notebook:
(venv) D:#python##envjupytervenvScripts>pip install notebook Collecting notebook Using cached notebook-6.4.10-py3-none-any.whl (9.9 MB) Collecting jupyter-client>=5.3.4 Downloading jupyter_client-7.2.2-py3-none-any.whl (130 kB) |████████████████████████████████| 130 kB 128 kB/s Collecting nbconvert>=5 Using cached nbconvert-6.4.5-py3-none-any.whl (561 kB) ..... ..... ..... Installing collected packages: ..... Successfully installed .....
После завершения установки внутри venv нужно подняться в корень директории jupyter и запустить jupyter-notebook:
(venv) D:#python##envjupytervenvScripts>cd .. (venv) D:#python##envjupytervenv>cd .. (venv) D:#python##envjupyter>jupyter-notebook [I 06:14:46.674 NotebookApp] Serving notebooks from local directory: D:#python##envjupyter [I 06:14:46.674 NotebookApp] Jupyter Notebook 6.4.10 is running at: [I 06:14:46.678 NotebookApp] http://localhost:8888/?token=443ed7feca651de8172b6f043ea0cf42645ddbc406a784d1 [I 06:14:46.681 NotebookApp] or http://127.0.0.1:8888/?token=443ed7feca651de8172b6f043ea0cf42645ddbc406a784d1 [I 06:14:46.682 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation). [C 06:14:46.835 NotebookApp] To access the notebook, open this file in a browser: file:///C:/Users/Ivan/AppData/Roaming/jupyter/runtime/nbserver-1952-open.html Or copy and paste one of these URLs: http://localhost:8888/?token=443ed7feca651de8172b6f043ea0cf42645ddbc406a784d1 or http://127.0.0.1:8888/?token=443ed7feca651de8172b6f043ea0cf42645ddbc406a784d1
Выглядит это так:
Откроется окно в браузере:
Повторный запуск среды осуществляется из виртуальной среды (сначала ее нужно активировать).
Установка Jupyter Notebook через virtual env на Ubuntu 20.14
# Создаем директорию проекта с виртуальной средой mkdir jupyter-env # Переходим внутрь проекта cd jupyter-env # Создаем среду myenv python3 -m venv myenv # Активируем среду source myenv/bin/activate # Запускаем установку jupyter pip install notebook # Запускаем jupyter notebook внутри venv jupyter notebook
Как устроен Jupyter Notebook. Как работает Jupyter Notebook
Общий вид Jupyter Notebook
Сначала пользователь взаимодействует с браузером, после чего на сервер Notebook отправляется запрос. Это может быть запрос HTTP или WebSocket.
Если код пользователя должен быть выполнен, сервер ноутбука отправляет его ядру (kernel) в сообщениях ZeroMQ. Ядро возвращает результаты выполнения.
Затем сервер Notebook возвращает пользователю HTML-страницу. Когда пользователь сохраняет документ, он отправляется из браузера на сервер Notebook. Сервер сохраняет его на диске в виде файла JSON с .ipynb расширением. Этот файл блокнота содержит код, выходные данные и примечания в формате markdown.
Ядро (Kernel) ничего не знает о документе блокнота: оно просто получает отправленные ячейки кода для выполнения, когда пользователь запускает их.
Блокноты Jupyter — это структурированные данные, которые представляют ваш код, метаданные, контент и выходные данные.
IPython Kernel (Ядро IPython)
Когда мы обсуждаем IPython, мы говорим о двух основных ролях:
- Terminal IPython как знакомый REPL.
- Ядро IPython, которое обеспечивает вычисления и связь с внешними интерфейсами, такими как ноутбук.
REPL – это форма организации простой интерактивной среды программирования в рамках средств интерфейса командной строки (REPL, от англ. Read-Eval-Print-Loop — цикл «чтение — вычисление — вывод»), которая поставляется вместе с Python. Чтобы запустить IPython, просто выполните команду ipython из командной строки/терминала.
Terminal IPython
Когда вы набираете ipython, вы получаете исходный интерфейс IPython, работающий в терминале. Он делает что-то вроде этого (упрощенная модель):
while True: code = input(">>> ") exec(code)
Эту модель часто называют REPL или Read-Eval-Print-Loop.
IPython Kernel
Все остальные интерфейсы — notebook, консоль Qt, ipython console в терминале и сторонние интерфейсы — используют Python Kernel.
Python Kernel — это отдельный процесс, который отвечает за выполнение пользовательского кода и такие вещи, как вычисление possible completions (возможных завершений). Внешние интерфейсы, такие как блокнот или консоль Qt, взаимодействуют с ядром IPython, используя сообщения JSON, отправляемые через сокеты ZeroMQ (протокол, используемый между интерфейсами и ядром IPython).
Основной механизм выполнения ядра используется совместно с терминалом IPython:
Jupyter Lab
Проект Jupyter приобрел большую популярность не только среди специалистов по данным, но и среди инженеров-программистов. На тот момент Jupyter Notebook был предназначен не только для работы с ноутбуком, поскольку он также поставлялся с веб-терминалом, текстовым редактором и файловым браузером. Все эти компоненты не были объединены вместе, и сообщество пользователей начало выражать потребность в более интегрированном опыте.
На конференции SciPy 2016 был анонсирован проект JupyterLab. Он был описан как естественная эволюция интерфейса Jupyter Notebook.
Кодовая база Notebook устарела, и ее становилось все труднее расширять. Стоимость поддержки старой кодовой базы и реализации новых функций поверх нее постоянно росла.
Разработчики учли весь опыт работы с Notebook в JupyterLab, чтобы создать надежную и чистую основу для гибкого интерактивного взаимодействия с компьютером и улучшенного пользовательского интерфейса.
Ценность Jupyter Notebook/JupyterLab для аналитиков данных
Разница между профессией data analyst/data scientist от разработки ПО заключается в отсутствии чёткого ТЗ на старте. Правильная постановка задачи в сфере анализа данных — это уже половина решения.
Первым этапом производится детальный анализ Initial Data (исходных данных) или Exploratory Data Analysis (Разведочный анализ данных), затем выдвигается одна или несколько гипотез. Эти шаги требуют значительных временных ресурсов.
Поэтому, понимание, как организовать процесс разработки (что нужно делать в первую очередь и чем можно будет пренебречь или исключить), начинает приходить во время разработки.
Исходя из этих соображений тратить силы на скурпулёзное и чистый код, git и т.д. бессмысленно — в первую очередь становится важным быстро создавать прототипы решений, ставить эксперименты над данными. Помимо этого, достигнутые результаты и обнаруженные инсайты или необычные наблюдения над данными приходится итерационно презентовать коллегам и заказчикам (внешним или внутренним). Jupyter Notebook или JupyterLab позволяет выполнять описанные задачи с помощью доступного функционала без дополнительных интеграций:
По факту, JupyterLab — это лабораторный журнал 21 века с элементами интерактивности, в котором вы можете оформить результаты работы с данными в формате markdown с использованием формул из latex. Также в JupyterLab можно писать и запускать код, вставлять в отчет картинки, отрисовывать графики, таблицы, дашборды.
Установка JupyterLab на Ubuntu 20.14
Установка производится одной командой
pip install jupyterlab
После инсталляции запустите команду
jupyter-lab
И откроется интерфейс:
Установка JupyterLab на Windows
Инсталляция и запуск на винде производится аналогично, как и на Ubuntu, командой pip instal jupyterlab
.
В чем разница между Jupyter Notebook и JupyterLab?
Jupyter Notebook — это интерактивная вычислительная среда с веб-интерфейсом для создания документов Jupyter Notebook. Он поддерживает несколько языков, таких как Python (IPython), Julia, R и т.д., и в основном используется для анализа данных, визуализации данных и дальнейших интерактивных исследовательских вычислений.
JupyterLab — это пользовательский интерфейс нового поколения, включая ноутбуки. Он имеет модульную структуру, в которой вы можете открыть несколько записных книжек или файлов (например, HTML, Text, Markdowns и т.д.) в виде вкладок в одном окне. Он предлагает больше возможностей, подобных IDE.
Новичку я бы посоветовал начать с Jupyter Notebook, так как он состоит только из файлового браузера и представления редактора (Notebook). Это проще в использовании. Если вам нужны дополнительные функции, переключитесь на JupyterLab. JupyterLab предлагает гораздо больше функций и улучшенный интерфейс, который можно расширить с помощью расширений: JupyterLab Extensions.
Начиная с версии 3.0, JupyterLab также поставляется с визуальным отладчиком, который позволяет интерактивно устанавливать точки останова, переходить к функциям и проверять переменные.
JupyterLab — это совершенно фантастический инструмент как для создания plotly фигур, так и для запуска полных приложений Dash как встроенных, в виде вкладок, так и внешних в браузере.
Основы работы и обзор функциональности Jupyter Notebook
Из чего состоит Jupiter Notebook
Если щелкнуть по файлу с расширением .ipynb, откроется страница с Jupiter Notebook.
Отображаемый Notebook представляет собой HTML-документ, который был создан Jupyter и IPython. Он состоит из нескольких ячеек, которые могут быть одного из трех типов:
- Сode (активный программный код),
- Markdown (текст, поясняющий код, более развернутый, чем комментарий),
- Raw NBConvert (пассивный программный код).
Jupyter запускает ядро IPython для каждого Notebook.
Ячейки, содержащие код Python, выполняются внутри этого ядра и результаты добавляются в тетрадку в формате HTML.
Двойной щелчок по любой из этой ячеек позволит отредактировать ее. По завершении редактирования содержимого ячейки, нажмите Shift + Enter, после чего Jupyter/IPython проанализирует содержимое и отобразит результаты.
Если выполняемая ячейка является ячейкой кода, это приведет к выполнению кода в ячейке и отображению любого вывода непосредственно под ним. На это указывают слова «In» и «Out», расположенные слева от ячеек.
Магические функции Jupiter Notebook
Все magic-функции (их еще называют magic-командами) начинаются
- со знака %, если функция применяется к одной строке,
- и %%, если применяется ко всей ячейке Jupyter.
Чтобы получить представление о времени, которое потребуется для выполнения функции, приведенной выше, мы воспользуемся функцией %timeit.
%timeit
%timeit – это magic-функция, созданная специально для работы с тетрадками Jupyter. Она является полезным инструментом, позволяющим сравнить время выполнения различных функций в одной и той же системе для одного и того же набора данных.
%matplotlib inline
%matplotlib inline позволяет выводит графики непосредственно в тетрадке.
На экранах с высоким разрешением типа Retina графики в тетрадках Jupiter по умолчанию выглядят размытыми, поэтому для улучшения резкости используйте
%config InlineBackend.figure_format = 'retina'
после %matplotlib inline.
jupyter markdown
туду
jupyter server
туду
jupyter config
туду
jupyter hub
JupyterHub: позволяет предоставлять нескольким пользователям (группам сотрудников) доступ к Notebook и другим ресурсам. Это может быть полезно для студентов и компаний, которые хотят, чтобы группа (группы) имела доступ к вычислительной среде и ресурсам и использовала их без необходимости установки и настройки. Управление которыми могут осуществлять системные администраторы. Доступ к отдельным блокнотам и JupyterLab можно получить через Hub. Hub может работать в облаке или на собственном оборудовании группы.
jupyter команды
туду
pycharm jupyter
туду
Виджеты Jupyter
Виджеты можно использовать для интерактивных элементов в блокнотах (например, ползунок).
Jupyter Widgets — это событийные объекты Python, которые имеют представление в браузере, часто в виде элемента управления, такого как ползунок, текстовое поле и т. д.
Вы можете использовать виджеты для создания интерактивных графических интерфейсов для своих ноутбуков.
Вы также можете использовать виджеты для синхронизации информации с сохранением состояния и без сохранения состояния между Python и JavaScript.
Чтобы использовать структуру виджетов, вам необходимо импортировать файлы ipywidgets
.
Почему отображение одного и того же виджета дважды работает?
Виджеты представлены в бэкенде одним объектом. Каждый раз, когда отображается виджет, во внешнем интерфейсе создается новое представление того же объекта. Эти представления называются представлениями.
Несколько самых популярных виджетов:
Чтобы начать использовать библиотеку, нам нужно установить расширение ipywidgets. Для pip это будет двухэтапный процесс:
- установить и
- включить
pip install ipywidgets jupyter nbextension enable --py widgetsnbextension
Tips & Tricks / Советы, рекомендации и фишки при работе с Jupyter Notebook
todo
Подборка видео по Jupyter
Как использовать Jupyter (ipython-notebook) на 100%
Jupyter Notebook Tutorial (Eng)
- 00:00 Introduction
- 01:35 Jupyter notebook example
- 04:11 Installing Python and Jupyter notebooks
- 09:23 Launching Jupyter notebooks
- 11:08 Basic notebook functionality
- 20:58 The kernel, and variables
- 28:38 Other notebook functionality
- 34:45 The menu
- 35:52 Jupyter notebook keyboard shortcuts
- 36:57 Load and display data using pandas
- 40:33 Using terminal commands inside a Jupyter notebook
- 42:30 Jupyter notebook magic commands
- 45:07 Other features outside of the notebooks
- 46:41 Shutting down Jupyter notebooks
- 48:02 Jupyter notebook extensions and other libraries
- 52:47 Conclusion, and thank you
Jupyterlab — STOP Using Jupyter Notebook! Here’s the Better Tool
…
Installing Jupyter
Project Jupyter’s tools are available for installation via the Python Package Index, the leading repository of software created for the Python programming language.
This page uses instructions with pip, the recommended installation tool for Python. If you require environment management as opposed to just installation, look into conda, mamba, and pipenv.
JupyterLab
Install JupyterLab with pip :
Note: If you install JupyterLab with conda or mamba, we recommend using the conda-forge channel.
Installing Jupyter Notebook¶
This information explains how to install the Jupyter Notebook and the IPython kernel.
Prerequisite: Python¶
While Jupyter runs code in many programming languages, Python is a requirement (Python 3.3 or greater, or Python 2.7) for installing the Jupyter Notebook.
We recommend using the Anaconda distribution to install Python and Jupyter. We’ll go through its installation in the next section.
Installing Jupyter using Anaconda and conda¶
For new users, we highly recommend installing Anaconda. Anaconda conveniently installs Python, the Jupyter Notebook, and other commonly used packages for scientific computing and data science.
Use the following installation steps:
Download Anaconda. We recommend downloading Anaconda’s latest Python 3 version (currently Python 3.5).
Install the version of Anaconda which you downloaded, following the instructions on the download page.
Congratulations, you have installed Jupyter Notebook. To run the notebook:
Alternative for experienced Python users: Installing Jupyter with pip¶
Jupyter installation requires Python 3.3 or greater, or Python 2.7. IPython 1.x, which included the parts that later became Jupyter, was the last version to support Python 3.2 and 2.6.
As an existing Python user, you may wish to install Jupyter using Python’s package manager, pip , instead of Anaconda.
First, ensure that you have the latest pip; older versions may have trouble with some dependencies:
Then install the Jupyter Notebook using:
(Use pip if using legacy Python 2.)
Congratulations. You have installed Jupyter Notebook. See Running the Notebook for more details.
Install Python and Jupyter Notebook to Windows 10 (64 bit)
This blog post is a step-by-step tutorial to install Python and Jupyter Notebook to Windows 10 (64 bit). Python 3.3 or greater, or Python 2.7 is required to install the Jupyter Notebook.
- Download Python 3.7.4 from “https://www.python.org/downloads/release/python-374/” url
2. Choose and select “x86–64 executable installer” for Windows 10–64 bit computer
3. Select location to save the executable file.
4. Install Python 3.7.4 (64-bit) to your computer.
5. Check the installation by running “Idle”
6. Set “Python37” path and “Python37/Scripts” path to environment variable
7. Open command prompt and check the python version using “python —version”
8. Install pip using “pip install virtualenv”
9. Upgrade pip using “python -m pip install -upgrade pip”
10. Create a virtual environment called opencv (“virtualenv opencv”)
11. Move to Scripts folder and activate opencv virtual environment using “activate.bat”
12. Install numpy using “pip install numpy”
13. Install OpenCV using “pip install opencv-python”
14. Install Matplotlib using “pip install matplotlib”
15. Install Jupyter using “python -m pip install jupyter”
16. Run Jupyter Notebook using “jupyter notebook”
17. Start the notebook server and popup dashboard in browser using “localhost:8888/tree” url