在我们已经安装了 Anaconda 和 python3 后,以添加 python2.7 为例,展示如何给 jupyter 添加新内核。
步骤:
step1:创建 python2.7版本虚拟环境
打开 Anaconda Prompt 输入以下指令
conda create -n env_name python=2.7
#注意 env_name 改自己环境的名字,如Py27
![](https://img.haomeiwen.com/i6511253/9b92aaa46bb8144a.png)
出现[y/n],输入y,等待完成即可。
若出现某些没有完成100%,失败了,就继续上面的步骤,直到都完成100%。
![](https://img.haomeiwen.com/i6511253/711b16e401e22e2e.png)
step2:进入环境
# windows user:
activate env_name
#Mac user:
source activate env_name
#注意 env_name 改自己环境的名字,如Py27
step3:安装 ipykernel
pip install ipykernel
![](https://img.haomeiwen.com/i6511253/57729678bd5c128d.png)
step4:通过 ipykernel为 jupyter添加 python2.7环境
成功安装 ipykernel 后,输入以下指令。
python -m ipykernel install --name env_name
#注意 env_name 为之前激活的环境名字,如 Py27
step5:重新打开 jupyter notebook 或者刷新 jupyter notebook 页面就可以看到 python2.7版本的 Py27已经添加到 kernel里了。
![](https://img.haomeiwen.com/i6511253/008dca6d22fb5ad9.png)
关闭退出 python27环境
# windows user:
deactivate
#Mac user:
source deactivate
查看已有 kernel
在退出 Py27环境后,可以输入以下指令查看 jupyter 中已经存在的 kernel 。
jupyter kernelspec list
过程中可能出现的问题
小编在step3:安装 ipykernel 输入 pip install ipykernel 时,出现了下面的错误:
UnicodeDecodeError: ‘ascii’ code can’t decode byte 0xef in position 7: ordinal not in range(128)
原因是 pip 安装 python 包会加载当前用户的用户目录,而小编的用户目录恰好是含有中文的,ascii 不能进行编码。
小编通过以下方法解决了这个问题:
修改 python 安装目录 Py27\Lib\目录下的 mimetypes.py 文件。
![](https://img.haomeiwen.com/i6511253/ae1d8c776e293a27.png)
双击 mimetypes.py 文件若出现闪退,则打开 python2.7 的 IDLE。
首先找到 python 安装位置,进入安装目录之后,点击Lib文件夹,然后点击 idlelib 文件夹,在此文件夹找到 idle.bat 文件,双击 idle.bat 文件,就打开了 IDLE。
![](https://img.haomeiwen.com/i6511253/1886dd0f21a57af6.png)
![](https://img.haomeiwen.com/i6511253/bfff7f619d4312a1.png)
点击File-->Open,找到 mimetypes.py 打开即可。
在import下添加如下几行:
if sys.getdefaultencoding() != 'gbk':
reload(sys)
sys.setdefaultencoding('gbk')
![](https://img.haomeiwen.com/i6511253/82a8b7940847f8f4.png)
添加完成并保存,进入 Anaconda Prompt 窗口执行 pip install ipykernel 命令就可以了。
自此,通过上面5个步骤就完成了给 jupyter 添加一个新的 python2 内核。
网友评论