问题:如何知道Jupyter笔记本中正在运行哪个?
我在用于Python编程的浏览器中使用Jupyter笔记本,已经安装了Anaconda(Python 3.5)。但是我很确定Jupyter使用本地python解释器而不是anaconda运行我的python命令。如何更改它并将Anaconda用作解释器?
Ubuntu 16.10-Anaconda3
回答 0
from platform import python_version
print(python_version())
这将为您提供运行脚本的python的确切版本。例如输出:
3.6.5
回答 1
import sys
sys.executable
会给你翻译。您可以在创建新笔记本时选择所需的解释器。确保您的anaconda解释器的路径已添加到您的路径中(最有可能在bashrc / bash_profile中的某个位置)。
例如,我以前在.bash_profile中有以下行,我是手动添加的:
export PATH="$HOME/anaconda3/bin:$PATH"
编辑:如评论中所述,这不是将anaconda添加到路径的正确方法。引用Anaconda的文档,应在安装后改为使用以下方法conda init
:
我应该将Anaconda添加到macOS或Linux PATH吗?
我们不建议手动将Anaconda添加到PATH。在安装过程中,系统将询问您“是否希望安装程序通过运行conda init来初始化Anaconda3?” 我们建议“是”。如果输入“ no”,则conda根本不会修改您的Shell脚本。为了在安装过程完成后进行初始化,请先运行
source <path to conda>/bin/activate
然后再运行conda init
回答 2
import sys
print(sys.executable)
print(sys.version)
print(sys.version_info)
见下文:-当我在CONDA venv之外运行JupyterNotebook时的输出
/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时看到以下内容-
conda create -n py35 python=3.5 ## Here - py35 , is name of my VENV
在我的Jupyter笔记本中打印:
/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-
来源-https ://github.com/jupyter/notebook/issues/1524
$ /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。–prefix =’/ Users / bussonniermatthias / anaconda’的简写。用于conda / virtual-envs。
回答 3
假设您的后端系统错误,则可以kernel
通过kernel.json
在kernels
jupyter数据路径的文件夹中创建新的或编辑现有的后端来更改后端jupyter --paths
。您可以有多个内核(R,Python2,Python3(+ virtualenvs),Haskell),例如,可以创建一个Anaconda
特定的内核:
$ <anaconda-path>/bin/python3 -m ipykernel install --user --name anaconda --display-name "Anaconda"
应该创建一个新内核:
<jupyter-data-dir>/kernels/anaconda/kernel.json
{
"argv": [ "<anaconda-path>/bin/python3", "-m", "ipykernel", "-f", "{connection_file}" ],
"display_name": "Anaconda",
"language": "python"
}
您需要确保ipykernel
在anaconda发行版中安装了软件包。
这样,您就可以在内核之间切换,并使用不同的内核使用不同的笔记本。
回答 4
为Jupyter Notebook创建虚拟环境
最小的Python安装是
sudo apt install python3.7 python3.7-venv python3.7-minimal python3.7-distutils python3.7-dev python3.7-gdbm python3-gdbm-dbg python3-pip
然后您可以创建和使用环境
/usr/bin/python3.7 -m venv test
cd test
source test/bin/activate
pip install jupyter matplotlib seaborn numpy pandas scipy
# install other packages you need with pip/apt
jupyter notebook
deactivate
您可以使用以下命令为Jupyter创建内核
ipython3 kernel install --user --name=test