美文网首页
jupyter notebook小记

jupyter notebook小记

作者: 钢铁油腻男 | 来源:发表于2017-09-19 18:13 被阅读703次

之前一直使用pycharm, 算是本地编程环境里面比较好的, 但是在代码需要远程运行, 并且取回执行结果, 如生成的图片和实时加一些说明的时候, 纯python代码就没有那么好用了。

发现大家都在用ipython, 环境自然就是jupyter notebook

目前环境已经安装了virtualEnv, 在virtualEnv下安装的tensorflow等包

安装ipython, jupyter notebook

$ pip install ipython

$ pip install jupyter

$ source ~/ml/bin/activate     //激活环境
(ml)$ pip install ipykernel
(ml)$ python -m ipykernel install --user --name=ml

安装完毕后, 命令行敲击jupyter notebook就会在本地localhost:8888用浏览器打开notebook, kernel选择ml(--name后面定义的那个名字)即可。

参考资料:
使用virtualenv搭建包含tensorflow的jupter notebook运行环境

远程访问notebook

目前, 在虚拟机或者服务器上搭建好notebook后, 本地无法直接访问, 需要修改配置

  1. 登录远程服务器
  2. 生成配置
$ jupyter notebook --generate-config
  1. 生成密码, 在ipython中输入密码, 获取sha1:41107558f125:91c692f7a58c50????????这个字段, 注意包括sha1
$ ipython
In [1]: from notebook.auth import passwd
In [2]: passwd()
Enter password: 
Verify password: 
Out[2]: 'sha1:41107558f125:91c692f7a58c50????????'
  1. 修改配置文件
$vi ~/.jupyter/jupyter_notebook_config.py

//如下修改:
c.NotebookApp.ip='*'
c.NotebookApp.password = u'sha:ce...刚才复制的那个密文'
c.NotebookApp.open_browser = False
c.NotebookApp.port =7777#最好换一个端口, 免得和其他的服务产生冲突
c.NotebookApp.certfile = u'./mycert.pem # 为了打开https用
c.MultiKernelManager.default_kernel_name = 'ml' #如果在pycharm里面运行jupyter, 我用的版本还不支持更换kernel, 所以在jupyter config里面默认使用ml, 就是你创建的kennel的名字.
  1. 生成https用的认证文件【1】
$ openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout mycert.pem -out mycert.pem

之后会要求你输入国家, 地区, 公司, 名字, email等信息, 可以随便写, 不会验证。
该命令在当前文件夹下生成mycert.pem, 推荐放到~/.jupyter/目录下。

  1. 在你想要的路径下面运行
$ jupyter notebook

注意, 隐藏目录访问端口, 会导致访问失败。可以切换到你的工作目录或者 ~下运行这个命令。

  1. 在pycharm中运行(可选)
    pycharm里面和网页版的快捷键稍微有点冲突, 但是补全的库是下载到本地的, 所以补全什么的, 会快一丢丢,

另外, 有段时间不用经常用到的快捷键, 这里稍微回顾一下:
alt-enter 智能提示;比如辅助import或者什么的;
ctrl-space 自动补全;Code Completion;在设置中用关键词Code Completion可以找到如何关闭大小写, 对于我们常常搞混一些api大小写的人来说, 还是有必要打开的, 默认是区分大小写的。

pycharm 不是万能的, 对于习惯了jupyter notebook的人来说, pycharm使用还是有很多问题, 比如不能使用magic function等等, 不过单独用来敲代码, 偶尔调试一下, 还是值得在下面写的。何况, 可以在pycharm下编完代码, 转身打开网页的。

【1】 为什么要使用https, 因为pycharm支持使用jupyter, 这样既可以利用jupyter的优势,同时也可以不放弃pycharm的长处。

参考
远程访问jupyter notebook
Jupyter notebook 服务器端部署

相关文章

网友评论

      本文标题:jupyter notebook小记

      本文链接:https://www.haomeiwen.com/subject/xhqwsxtx.html