我的Jupyter笔记本电脑安装了python 2内核。我不明白为什么。我可能在安装的时候搞砸了。我已经安装了python 3。我怎么能把它加到木星上? 下面是默认的Jupyter使用python3 -m install Jupyter安装并在浏览器中使用Jupyter notebook打开的截图:
当前回答
要将特定的python添加到jupyter内核中,首先使用以下命令检查可用的python或python3的路径
$ where python3
假设你有'/usr/local/bin/python3'作为路径之一。要为这个版本的python创建一个名为'name_to_new_kernel'的内核,该内核将显示在jupyter中,
$ /usr/local/bin/python3 -m pip install ipykernel
$ /usr/local/bin/python3 -m ipykernel install --user --name name_to_new_kernel
使用实例检查名称为'name_to_new_kernel'的新内核是否添加到jupyter
jupyter kernelspec list
其他回答
确保已经安装了ipykernel,并使用ipython kernel install将kernelspec放到python2的正确位置。然后为Python3安装ipython3内核。现在,无论您使用的是jupyter notebook、ipython notebook还是ipython3 notebook(后两种已弃用),您都应该能够在这两种内核之间进行选择。
注意,如果你想安装一个特定的Python可执行文件,你可以使用以下技巧:
path/to/python -m ipykernel install <options>
当使用环境(venv,conda,…)和<选项>让你命名你的内核时,这是有效的(参见——help)。所以你可以
conda create -n py36-test python=3.6
source activate py36-test
python -m ipykernel install --name py36-test
source deactivate
现在,在下拉菜单中可以看到名为py36-test的内核和其他内核。
参见使用Python 2。3. Python。IPython Notebook中的最新信息。
这个回答解释了如何使用Poetry依赖管理创建Python 3、Jupyter 1和ipykernel 5工作流。诗歌使创建一个虚拟环境的Jupyter笔记本很容易。我强烈建议不要运行python3命令。安装全局依赖项的Python工作流程会让你陷入依赖项地狱。
以下是对干净、可靠的Poetry工作流程的总结:
安装依赖诗词添加熊猫jupyter ipykernel 在虚拟环境中用诗壳打开一个壳 打开Jupyter notebook,访问与Jupyter notebook相关的所有虚拟环境
还有干净的Conda工作流。注意这个帖子里的很多答案——它们会让你走上一条会给你带来很多痛苦和折磨的道路。
对于jupyter/ipython的最新版本:使用jupyter kernelspec
完整文档:https://ipython.readthedocs.io/en/latest/install/kernel_install.html
列出当前内核
$ jupyter kernelspec list
Available kernels:
python2 .../Jupyter/kernels/python2
python3 .../Jupyter/kernels/python3
在我的例子中,python3内核设置被破坏了,因为py3.5链接不再存在,取而代之的是py3.6
添加/删除内核
删除:
$ jupyter kernelspec uninstall python3
添加一个新的: 使用你想要添加的Python并指向运行jupiter的Python:
$ /path/to/kernel/env/bin/python -m ipykernel install --prefix=/path/to/jupyter/env --name 'python-my-env'
更多例子见https://ipython.readthedocs.io/en/6.5.0/install/kernel_install.html#kernels-for-different-environments
列表:
$ jupyter kernelspec list
Available kernels:
python3 /usr/local/lib/python3.6/site-packages/ipykernel/resources
python2 /Users/stefano/Library/Jupyter/kernels/python2
道格:https://jupyter-client.readthedocs.io/en/latest/kernels.html kernelspecs
细节
可用的内核列在Jupyter DATA DIRECTORY的Kernels文件夹下(详情请参阅http://jupyter.readthedocs.io/en/latest/projects/jupyter-directories.html)。
例如,在macosx上,应该是/Users/YOURUSERNAME/Library/Jupyter/kernels/
内核被简单地描述为内核。Json文件,例如。/用户/我/图书馆/ Jupyter /内核/ python3 / kernel.json
{
"argv": [
"/usr/local/opt/python3/bin/python3.5",
"-m",
"ipykernel",
"-f",
"{connection_file}"
],
"language": "python",
"display_name": "Python 3"
}
您可以使用kernelspec命令(如上所述),而不是手动操作。以前可以通过ipython使用,现在可以通过jupyter (http://ipython.readthedocs.io/en/stable/install/kernel_install.html#kernels-for-different-environments - https://jupyter-client.readthedocs.io/en/latest/kernels.html#kernelspecs)使用。
$ jupyter kernelspec help
Manage Jupyter kernel specifications.
Subcommands
-----------
Subcommands are launched as `jupyter kernelspec cmd [args]`. For information on
using subcommand 'cmd', do: `jupyter kernelspec cmd -h`.
list
List installed kernel specifications.
install
Install a kernel specification directory.
uninstall
Alias for remove
remove
Remove one or more Jupyter kernelspecs by name.
install-self
[DEPRECATED] Install the IPython kernel spec directory for this Python.
To see all available configurables, use `--help-all`
其他语言的内核
顺便说一下,与这个问题没有严格联系,但有很多其他可用的内核…https://github.com/jupyter/jupyter/wiki/Jupyter-kernels
用于当前的Python启动器
如果您安装了Py3,但默认为py2
py -3 -m pip install ipykernel
py -3 -m ipykernel install --user
如果您安装了Py2,但默认为py3
py -2 -m pip install ipykernel
py -2 -m ipykernel install --user
将多个内核安装到单个虚拟环境(venv)
这些答案中的大多数(如果不是全部的话)假设您乐于在全局范围内安装包。这个答案适合你,如果你:
使用*NIX机器 不喜欢全局安装包 不要使用anaconda <->,你很乐意从命令行运行jupyter服务器 想要知道内核安装“在哪里”。
(注意:这个答案在python3-jupyter安装中添加了一个python2内核,但在概念上很容易交换。)
Prerequisites You're in the dir from which you'll run the jupyter server and save files python2 is installed on your machine python3 is installed on your machine virtualenv is installed on your machine Create a python3 venv and install jupyter Create a fresh python3 venv: python3 -m venv .venv Activate the venv: . .venv/bin/activate Install jupyterlab: pip install jupyterlab. This will create locally all the essential infrastructure for running notebooks. Note: by installing jupyterlab here, you also generate default 'kernel specs' (see below) in $PWD/.venv/share/jupyter/kernels/python3/. If you want to install and run jupyter elsewhere, and only use this venv for organizing all your kernels, then you only need: pip install ipykernel You can now run jupyter lab with jupyter lab (and go to your browser to the url displayed in the console). So far, you'll only see one kernel option called 'Python 3'. (This name is determined by the display_name entry in your kernel.json file.) Add a python2 kernel Quit jupyter (or start another shell in the same dir): ctrl-c Deactivate your python3 venv: deactivate Create a new venv in the same dir for python2: virtualenv -p python2 .venv2 Activate your python2 venv: . .venv2/bin/activate Install the ipykernel module: pip install ipykernel. This will also generate default kernel specs for this python2 venv in .venv2/share/jupyter/kernels/python2 Export these kernel specs to your python3 venv: python -m ipykernel install --prefix=$PWD/.venv. This basically just copies the dir $PWD/.venv2/share/jupyter/kernels/python2 to $PWD/.venv/share/jupyter/kernels/ Switch back to your python3 venv and/or rerun/re-examine your jupyter server: deactivate; . .venv/bin/activate; jupyter lab. If all went well, you'll see a Python 2 option in your list of kernels. You can test that they're running real python2/python3 interpreters by their handling of a simple print 'Hellow world' vs print('Hellow world') command. Note: you don't need to create a separate venv for python2 if you're happy to install ipykernel and reference the python2-kernel specs from a global space, but I prefer having all of my dependencies in one local dir
博士TL;
Optionally install an R kernel. This is instructive to develop a sense of what a kernel 'is'. From the same dir, install the R IRkernel package: R -e "install.packages('IRkernel',repos='https://cran.mtu.edu/')". (This will install to your standard R-packages location; for home-brewed-installed R on a Mac, this will look like /usr/local/Cellar/r/3.5.2_2/lib/R/library/IRkernel.) The IRkernel package comes with a function to export its kernel specs, so run: R -e "IRkernel::installspec(prefix=paste(getwd(),'/.venv',sep=''))". If you now look in $PWD/.venv/share/jupyter/kernels/ you'll find an ir directory with kernel.json file that looks something like this:
{
"argv": ["/usr/local/Cellar/r/3.5.2_2/lib/R/bin/R", "--slave", "-e", "IRkernel::main()", "--args", "{connection_file}"],
"display_name": "R",
"language": "R"
}
总之,内核只是从内核调用特定于语言的可执行文件。Json文件,jupyter在…/share/jupyter/kernels目录和列表在本例中,调用R来运行IRkernel::main()函数,该函数将向Jupiter服务器来回发送消息。类似地,python2内核只是使用ipykernel_launcher模块调用python2解释器,如.venv/share/jupyter/kernels/python2/kernel中所示。json等。
如果您想一下子运行所有这些指令,这里有一个脚本。
推荐文章
- 如何嵌入HTML到IPython输出?
- Python和IPython的区别是什么?
- 如何从终端运行。ipynb Jupyter Notebook ?
- 移除jupyter笔记本上的内核
- 如何使用列的格式字符串显示浮动的熊猫数据帧?
- 使用Python 2。3. Python。IPython Notebook中的x
- 如何加载/编辑/运行/保存文本文件(.py)到IPython笔记本细胞?
- 在安装pip后,“jupyter:命令未找到”
- 在IPython中自动重载模块
- 如何防止谷歌Colab断开连接?
- 熊猫:设定号。Max行数
- 如何在Jupyter Notebook中显示文件中的图像?
- 熊猫操作期间的进度指标
- 修改IPython/Jupyter笔记本工作目录
- 在ipython笔记本中测量单元格执行时间的简单方法