入门Ubuntu三则之三——Jupyter Notebook风波

我一开始是按照在Ubuntu上安装Tensorflow去安装Tensorflow,作为一个新人小白,按照它的要求安装了Virtualenv。过程还挺波折,主要是搞不清~/其实是代表~/home/username,在参考了廖大神的第三方模块安装内容之后,总算顺利进入了激活环境。

Idle3还是Jupyter Notebook

在激活环境中安装完Python3.6和Tensorflow,终端里进入Python交互模式,输入

>>> import tensorflow

总算可以成功import了!我以为这样就可以继续安装下一个工具包,结果却并不是这样。

在终端里成功import之后,我试着在环境里直接打开idle3,它是我在之前就安装好的。打开后发现不能import,经过朋友提醒,才发现它认的是3.5。

入门Ubuntu三则之三——Jupyter Notebook风波_第1张图片
idle3打开的是3.5

……虚拟环境名不虚传。朋友表示你不妨试试看Jupyter Notebook呢?我一想,正好我在Github上下载到的源码是以Jupyter形式上传的啊,直接安装用它打开源码岂不是非常方便调试?

一不做二不休,下载。

下载完就发现,从虚拟环境中打开Notebook之后,并不能import tensorflow。想了一下可能是Notebook的内核还是3.5?看了一下果然是这样。按照某乎方法,手动注册:

~$ python 3.6-m pip3 install ipykernel

~$ python3.6 -m ipykernel install --user

看了一下,server information是3.5,current是3.6,试试看?还是失败。

入门Ubuntu三则之三——Jupyter Notebook风波_第2张图片
kernel信息

朋友说,是不是你把Notebook装在环境外面了?试试看卸载,果然是装在了外面。为了确实卸载的干净一些,我把环境内外的Notebook都卸载掉了,然后进入虚拟环境单独安装,这回改好了吧?还是失败。不仅失败,这回连Notebook都打不开了!提示缺少jinja2的一个模块。

入门Ubuntu三则之三——Jupyter Notebook风波_第3张图片
缺jinja2的模块

不对啊,Notebook安装就会自带jinja2的吧?

又试了几次,仍然失败,相当沮丧。朋友说,你尝试修改一下软链接,有可能是几个版本的Python在打架。试了几次,仍然失败。

老同学:这就很尴尬了,真的没辙。

都到这一步了,不能放弃啊!不甘心,又回去仔细查看各个版本的安装包。

/usr/lib/python2.7/dist-packages和/usr/lib/python3.5/dist-packages下确实已经安装了jinja2,而我的3.6是在虚拟环境下的,安装目录其实是/usr/local/lib/python3.6/dist-packages,而该目录下确实没有jinja2。应该就是pip3指向的问题了。

我恐怕乱改链接又会出问题,索性手动在3.6目录下安装pip3。在用这个新的pip3去install jinja2。成功了。


这回碰上更大的麻烦

进去之后,依旧不能import tf。再看看内核设置,确实是没问题的,两个都是3.6。这下到底要怎么解决呢?纠结了将近一个小时,无意间搜索到给Jupyter Notebook换kernel的方法。

难道我的kernel有问题?

(tensorflow) ~/myproject$ jupyter kernelspec list

Available kernels:  python3    ~/.local/share/jupyter/kernels/python3

这就是它的kernel文件所在的位置,打开kernel.json:

{

"argv": [

  "/usr/bin/python3.6", #对应的地址

  "-m",

  "ipykernel_launcher",

  "-f",

  "{connection_file}"

],

"display_name": "Python 3", ##kernel的名字

"language": "python" ##甚至可以修改语言

}

找到问题了!kernel对应的仍然是外部环境的"/usr/bin/python3.6",这里并没有install tf。因此将地址改成 ~/myproject/tensorflow/bin/python3.6,再试试,大功告成!

入门Ubuntu三则之三——Jupyter Notebook风波_第4张图片
在Notebook成功import tf

之后再下载keras等其他工具包,一切顺利。从一个第一次接触Linux的小白到搭建好工具平台,耗时4天,收获很大,并不亏!

平台搭好了,接下来就是正式的工作,再接再厉!

--つづく

你可能感兴趣的:(入门Ubuntu三则之三——Jupyter Notebook风波)