How to know which is running in Jupyter notebook ?
我在浏览器中使用Jupyter笔记本进行Python编程,我已经安装了Anaconda(Python 3.5)。 但是我很确定Jupyter在使用本机python解释器运行我的python命令而不是使用anaconda。 如何更改它并使用Anaconda作为翻译?
谢谢!
Ubuntu 16.10 - Anaconda3
1 2 3 | from platform import python_version print(python_version()) |
这将为您提供运行脚本的python的确切版本。例如输出:
1 | 3.6.5 |
1 2 | import sys sys.executable |
会给你翻译。您可以在创建新笔记本时选择所需的解释器。确保将anaconda解释器的路径添加到路径中(最有可能在bashrc / bash_profile中的某个位置)。
例如,我的.bash_profile中有以下行:
1 | export PATH="$HOME/anaconda3/bin:$PATH" |
1 2 3 4 | import sys print(sys.executable) print(sys.version) print(sys.version_info) |
如下所示: - 当我在CONDA venv之外运行JupyterNotebook时的输出
1 2 3 4 | /home/dhankar/anaconda2/bin/python 2.7.12 |Anaconda 4.2.0 (64-bit)| (default, Jul 2 2016, 17:42:40) [GCC 4.4.7 20120313 (Red Hat 4.4.7-1)] sys.version_info(major=2, minor=7, micro=12, releaselevel='final', serial=0) |
下面我在使用命令创建的CONDA Venv中运行相同的JupyterNoteBook时看到 -
1 | conda create -n py35 python=3.5 ## Here - py35 , is name of my VENV |
在我的Jupyter笔记本中打印: -
1 2 3 4 | /home/dhankar/anaconda2/envs/py35/bin/python 3.5.2 |Continuum Analytics, Inc.| (default, Jul 2 2016, 17:53:06) [GCC 4.4.7 20120313 (Red Hat 4.4.7-1)] sys.version_info(major=3, minor=5, micro=2, releaselevel='final', serial=0) |
如果您已经使用不同版本的Python创建了各种VENV,则可以通过从JupyterNotebook菜单中选择KERNEL >> CHANGE KERNEL来切换到所需的内核...
JupyterNotebookScreencapture
还要在现有的CONDA虚拟环境中安装ipykernel -
http://ipython.readthedocs.io/en/stable/install/kernel_install.html#kernels-for-different-environments
来源--- https://github.com/jupyter/notebook/issues/1524
1 2 3 4 5 | $ /path/to/python -m ipykernel install --help usage: ipython-kernel-install [-h] [--user] [--name NAME] [--display-name DISPLAY_NAME] [--profile PROFILE] [--prefix PREFIX] [--sys-prefix] |
安装IPython内核规范。
可选参数:
-h, - help显示此帮助消息并退出
--user安装当前用户而不是系统范围
--name NAME指定kernelspec的名称。这是需要的
同时拥有多个IPython内核。
--display-name DISPLAY_NAME
指定kernelspec的显示名称。这是
有多个IPython内核时很有帮助。
--profile PROFILE指定要加载的IPython配置文件。这可以使用
创建内核的自定义版本。
--prefix PREFIX指定kernelspec的安装前缀。这是
需要安装到非默认位置,例如
conda / virtual-env。
--sys-prefix安装到Python的sys.prefix。简写
前缀= '/用户/ bussonniermatthias /水蟒'。用来
在conda / virtual-envs中。
假设您有错误的后端系统,您可以通过创建新的或编辑jupyter数据路径
1 | $ /bin/python3 -m ipykernel install --user --name anaconda --display-name"Anaconda" |
应该创建一个新内核:
1 2 3 4 5 | { "argv": ["/bin/python3","-m","ipykernel","-f","{connection_file}" ], "display_name":"Anaconda", "language":"python" } |
您需要确保在anaconda发行版中安装
这样您就可以在内核之间切换,并使用不同的内核使用不同的笔记本。