You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
The **Jupyter Kernels** category lists all Jupyter kernels that VS Code detects in the context of the compute system it’s operating in (your desktop, Codespaces, remote server, etc.). Each Jupyter kernels has Jupyter [kernel specification](https://jupyter-client.readthedocs.io/en/stable/kernels.html#kernel-specs), or Jupyter kernelspec, which contains a JSON file (i.e., `kernel.json`) with details about the kernel—name, description, CLI information required to launch a process as a kernel.
The **Jupyter Kernels** category lists all Jupyter kernels that VS Code detects in the context of the compute system it’s operating in (your desktop, Codespaces, remote server, etc.). Each Jupyter kernel has a Jupyter [kernel specification](https://jupyter-client.readthedocs.io/en/stable/kernels.html#kernel-specs) (or Jupyter kernelspec), which contains a JSON file (`kernel.json`) with details about the kernel—name, description, and CLI information required to launch a process as a kernel.
When the Visual Studio Code Jupyter Extension is executing cells it's using [Jupyter kernels](https://docs.jupyter.org/en/latest/projects/kernels.html) to execute the code and get back output to display in the notebook document. Users can install [kernelspec](https://jupyter-client.readthedocs.io/en/latest/kernels.html#kernel-specs) files for all different languages on their system. By installing them into the same locations as Jupyter they will get picked up by the Jupyter extension and should show up as options in the notebook kernel picker. These kernel will be shown in the kernel picker under the group label "Jupyter Kernel."
When the Visual Studio Code Jupyter extension is executing cells, it's using [Jupyter kernels](https://docs.jupyter.org/en/latest/projects/kernels.html) to execute the code and retrieve output to display in the notebook document. Users can install [kernelspec](https://jupyter-client.readthedocs.io/en/latest/kernels.html#kernel-specs) files for different languages on their system. By installing them into the same locations as Jupyter they will get picked up by the Jupyter extension and should show up as options in the notebook kernel picker. These kernel will be shown in the kernel picker under the group label "Jupyter Kernel..."
<imgwidth="599"alt="Jupyter Kernels section of the kernel picker."src="https://user-images.githubusercontent.com/812783/179370494-bf79fe2b-119f-4372-9b06-307db2d508d5.png">
## Python Environments
Without the Python Extension installed the Jupyter Extension can pick up kernels installed into Jupyter registered locations and run them. But with the Python Extension installed new options are opened up for Python notebooks. Instead of being restricted to just registered Jupyter kernels any Python environment, meaning a Python interpreter and an associated location for Python packages, installed on the system can be used as a kernel to execute Python code in. The default kernel for Python is provided by the [IPyKernel package](https://ipython.org/). If you select an environment on the system that does not have IPyKernel installed and attempt to run the notebook you will be prompted to install IPyKernel. If it's installed, that environment can be used as a valid kernel for Jupyter notebooks in Visual Studio Code.
When the Python extension is installed, any Python environment (meaning a Python interpreter and an associated location for Python packages), installed on the system can be used as a kernel to execute Python code. Without the Python extension installed, the Jupyter extension can only find [kernels installed into Jupyter-registered locations](https://github.com/microsoft/vscode-jupyter/wiki/Jupyter-Kernels-and-the-Jupyter-Extension#jupyter-kernels). The default kernel for Python is provided by the [IPyKernel package](https://ipython.org/). If you select an environment on the system that does not have IPyKernel installed and attempt to run the notebook, you will be prompted to install IPyKernel. If it's installed, that environment can be used as a valid kernel for Jupyter notebooks in Visual Studio Code.
> **Note**: You **__do not__** need to install [jupyter](https://pypi.org/project/jupyter/) into the Python environment you want to use. Only IPython and IPyKernel are required to launch a Python process as a kernel and execute code against your notebook, e.g., `pip install ipython ipykernel`. Visit our [wiki](https://github.com/microsoft/vscode-jupyter/wiki/Kernels-(Architecture)) to learn more.
The Python Extension can detect many different types of Python environments on a system and has an [excellent guide](https://code.visualstudio.com/docs/python/environments) to setting them up. In the kernel picker those interpreters will all be grouped up into different categories based on the interpreter type.
The Python extension can detect many different types of Python environments on a system and has an [excellent guide](https://code.visualstudio.com/docs/python/environments) to setting them up. In the kernel picker those interpreters will all be grouped up into different categories based on the interpreter type.
When you pick a kernel in the kernel picker, that kernel will then be associated with that file and automatically selected the next time that you open it. If nothing has been selected, the Jupyter Extension will take a look at the notebook metadata and attempt to select the best kernel for the file. That kernel will be label as the "suggested" kernel. For Python, if no environments look like an exact match the selected active environment of the Python Extension in the given workspace will be used.
When you pick a kernel in the kernel picker, that kernel will then be associated with that file and automatically selected the next time that you open it. If nothing has been selected, the Jupyter extension will take a look at the notebook metadata and attempt to select the best kernel for the file. That kernel will be label as the "suggested" kernel. For Python, if no environments look like an exact match the selected active environment of the Python extension in the given workspace will be used.
@@ -45,7 +45,7 @@ Note that when you have a kernel selected that only supports specific languages
## Other Extensions providing kernels
There are other notebook extensions in the marketplace such as the [Julia](https://marketplace.visualstudio.com/items?itemName=julialang.language-julia) or the [.NET Interactive](https://marketplace.visualstudio.com/items?itemName=ms-dotnettools.dotnet-interactive-vscode) that can also provide kernels. These kernels will show up in the kernel picker alongside those provided by the Jupyter Extension.
There are other notebook extensions in the marketplace such as the [Julia](https://marketplace.visualstudio.com/items?itemName=julialang.language-julia) or the [.NET Interactive](https://marketplace.visualstudio.com/items?itemName=ms-dotnettools.dotnet-interactive-vscode) that can also provide kernels. These kernels will show up in the kernel picker alongside those provided by the Jupyter extension.