无法向 Jupyter Notebook 添加另一个内核
Unable to add another kernel to Jupyter notebook
我已经提到了这个相关的post
目前正在使用 Jupyter Notebook
,它只有 Python2
内核。但是我的服务器有 Python2 和 Python3.
不过,我想添加python3
内核。按照上面的post,我尝试了下面的
1 !mkdir python-virtual-environments && cd python-virtual-environments && virtualenv env && virtualenv -p python3 env && . env/bin/activate #activated virtual environment
2 !jupyter kernelspec list #lists only Python2 kernel
3 !which python3 # outputs the python3 path `/usr/bin/python3`
4 !pip install ipykernel # stream of requirement already satisfied messages
5 !python3 -m pip install ipykernel # error-1
6 !python3 -m ipykernel install --user # error-2
我收到以下错误
错误-1
Exception:
Traceback (most recent call last):
File "/usr/lib/python3.5/shutil.py", line 538, in move
os.rename(src, real_dst)
PermissionError: [Errno 13] Permission denied: '/usr/lib/python3/dist-packages/prompt_toolkit' -> '/tmp/pip-rgd7fgjj-uninstall/usr/lib/python3/dist-packages/prompt_toolkit
.....
PermissionError: [Errno 13] Permission denied: 'toolbars.py'
错误-2
PermissionError: [Errno 13] Permission denied: '/usr/local/lib/python3.5/dist-packages/tornado-6.0.4.dist-info'
You are using pip version 9.0.1, however version 20.1.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
/usr/bin/python3: No module named ipykernel
问题
当我激活 virtualenv
时,我在激活后执行的所有命令(第 2、3、4、5、6 行)都在我的虚拟机中 运行环境。我说得对吗?
第 4 行有一个已满足要求的消息流。我正在尝试在我的虚拟环境中安装 ipykernel
。为什么说已经满足了。它正在查看我的系统安装,因为消息有 python2.7.2?
第 5 行,为什么会出现 permission denied
错误?
问题是你 运行 使用 !
的 jupyter notebook 中的所有内容都会为每个命令启动一个临时 shell,因此你的所有命令都在不同的 shell。因此,virtualenv 是 not 激活的,当你使用 pip
时你会得到满足的要求,因为它正在检查系统的 python.
需要用终端激活虚拟环境(虽然用jupyter也可以,但是有点麻烦):
首先从终端激活您的 virtualenv(它应该有 python 3,正如您在创建此环境时提到的那样 (virtualenv -p python3 env
)):
. python-virtual-environments/env/bin/activate
它应该在激活时显示类似 (env) $
的内容,然后如果您检查 python 和 pip,它应该给您的环境 python 和 pip。
(env) $ which python
home/abcd/python-virtual-environments/env/bin/python
(env) $ which pip
/home/abcd/python-virtual-environments/env/bin/pip
现在,如果尚未安装内核,您可以安装它:
(env) ➜ pip install ipykernel
我已经提到了这个相关的post
目前正在使用 Jupyter Notebook
,它只有 Python2
内核。但是我的服务器有 Python2 和 Python3.
不过,我想添加python3
内核。按照上面的post,我尝试了下面的
1 !mkdir python-virtual-environments && cd python-virtual-environments && virtualenv env && virtualenv -p python3 env && . env/bin/activate #activated virtual environment
2 !jupyter kernelspec list #lists only Python2 kernel
3 !which python3 # outputs the python3 path `/usr/bin/python3`
4 !pip install ipykernel # stream of requirement already satisfied messages
5 !python3 -m pip install ipykernel # error-1
6 !python3 -m ipykernel install --user # error-2
我收到以下错误
错误-1
Exception:
Traceback (most recent call last):
File "/usr/lib/python3.5/shutil.py", line 538, in move
os.rename(src, real_dst)
PermissionError: [Errno 13] Permission denied: '/usr/lib/python3/dist-packages/prompt_toolkit' -> '/tmp/pip-rgd7fgjj-uninstall/usr/lib/python3/dist-packages/prompt_toolkit
.....
PermissionError: [Errno 13] Permission denied: 'toolbars.py'
错误-2
PermissionError: [Errno 13] Permission denied: '/usr/local/lib/python3.5/dist-packages/tornado-6.0.4.dist-info'
You are using pip version 9.0.1, however version 20.1.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
/usr/bin/python3: No module named ipykernel
问题
当我激活
virtualenv
时,我在激活后执行的所有命令(第 2、3、4、5、6 行)都在我的虚拟机中 运行环境。我说得对吗?第 4 行有一个已满足要求的消息流。我正在尝试在我的虚拟环境中安装
ipykernel
。为什么说已经满足了。它正在查看我的系统安装,因为消息有 python2.7.2?第 5 行,为什么会出现
permission denied
错误?
问题是你 运行 使用 !
的 jupyter notebook 中的所有内容都会为每个命令启动一个临时 shell,因此你的所有命令都在不同的 shell。因此,virtualenv 是 not 激活的,当你使用 pip
时你会得到满足的要求,因为它正在检查系统的 python.
需要用终端激活虚拟环境(虽然用jupyter也可以,但是有点麻烦):
首先从终端激活您的 virtualenv(它应该有 python 3,正如您在创建此环境时提到的那样 (virtualenv -p python3 env
)):
. python-virtual-environments/env/bin/activate
它应该在激活时显示类似 (env) $
的内容,然后如果您检查 python 和 pip,它应该给您的环境 python 和 pip。
(env) $ which python
home/abcd/python-virtual-environments/env/bin/python
(env) $ which pip
/home/abcd/python-virtual-environments/env/bin/pip
现在,如果尚未安装内核,您可以安装它:
(env) ➜ pip install ipykernel