juypter

1.      jupyter

1.1.    它是什么?

Jupyter Notebooks 是一款开源的网络应用,我们可以将其用于创建和共享代码与文档。

以前叫ipython notebook。

1.2.    它可以做什么?

像其它IDE一样,写代码;

不同之处是它的代码是按独立单元编写和执行的,每次执行只会找执行某个单元内的代码。

2.      安装/启动

2.1.    linux平台

系统版本:centos6.5

安装

pip install jupyter

生成配置文件

# jupyter notebook --generate-config

Writing default config to: /root/.jupyter/jupyter_notebook_config.py

生成密码

# ipython

In [1]: from notebook.auth import passwd

In [2]: passwd()

Enter password:

Verify password:

Out[2]: 'sha1:43b95b731276:5d330ee6f6054613b3ab4cc59c5048ff7c70f549'

In [3]:

配置远程访问

vi /root/.jupyter/jupyter_notebook_config.py

c.NotebookApp.ip='*' #设置访问notebook的ip,*表示所有IP

c.NotebookApp.password = u'sha1:5df252f58b7f:bf65d5312' #填写刚刚生成的密文

c.NotebookApp.open_browser = False # 禁止notebook启动时自动打开浏览器(linux服务器一般都是ssh命令行访问,没有图形界面,启动也没啥用)

c.NotebookApp.port =8889 #指定访问的端口,默认是8888。

运行

启动jupyter notebook --no-browser

编辑

浏览器访问http:/ip:8888

显示jupyter界面即为成功。

2.2.    windows

install:

pip install jupyter

pip uninstall jupyter

start:

进入命令行,输入jupyter notebook

它实质上是启动一个server并提供web界面用于编辑。

在浏览器中访问http://localhost:8888

结果示意图:

注意:jupyter的主目录是当前目录

2.2.1.   pycharm与jupyter

在pycharm中也可以运行jupyter,它实质上是一个server,在pycharm中添加一个类型为jupyter notebook的编译器,然后运行它。

等效于在cmd中执行juypter notebook。

后续操作相同于上文所述。

3.      使用

3.1.    代码文件及格式

与官方的不同,它的代码文件格式为.ipynb,无法直接python a.ipynb运行,

不过可以以ipython temp.ipynb方式运行。

3.2.    代码编辑

其它功能性内容很简单,创建文件,编辑,保存,操作友好性非常高。

3.3.    格式转换

如果想把.ipynb文件转换为.py格式,在file>download as下提供的相应选择项。

3.4.    更换工作目录

两种方式:

  1. 在配置文件中设置

c.NotebookApp.notebook_dir =' '

  1. 在相应项目目录下启动jupter notebook

这时默认工作目录为当前目录。

3.5.    jupyter与.py

jupyter程序的文件是.ipynb格式,不能直接执行.py文件,需要导入。

导入t.py模块很简单

import t

问题在于如果修改了.py文件,它不会自动在下一次执行时自动更新除非手动重新装载模块:

import t

from imp import reload
reload(t)

新的问题是很多时候只需要引用模块中的某一对象而非全部,重载就太不方便了;

另一个更大的问题是如果修改了模块所引用的模块,它也不会自动更新,而对每一个模块reload是不可行的。

解决方案:

猜测可能是由于缓存的原因,因此,使用jupyter调试.py模块时,每次修改模块后需要重启服务并清空输出,而不是运行。

注意:重启服务并运行所有模块并不会更新输出,这也是个坑。

4.     

4.1.   
linux开发环境配置

目的:windows下开发,linux下运行

方案:windows下使用pycharm开发,将目录挂载到linux,测试运行使用jupyter远程

挂载命令:

mount -t cifs -o username=name,password=pass
//ip/flask /home/my_python_file/win_python

05-11 22:50