使用jupyter notebook直接打开.md格式的文件


Posted in Python onApril 10, 2020

jupyter notebook是一个比较比较不错的网页版python编辑器,但是,由于很多“技术文档”都是直接以markdown(.md格式的文件)的格式编写的,而且jupyter notebook的代码文件(.ipynb)也可以转换成.md格式的文件,更为重要的是,我们从github上下载的很多学习资料也都是.md文件格式的。因此,为了能够在jupyter notebook上实现:

使用jupyter notebook浏览技术文档;

将转换成.md格式的python代码在不用转换格式的情况下直接由jupyter notebook上打开并且运行代码;

更加方便的由jupyter notebook看github下载的资料。

我们需要在jupyter notebook中加入能够阅读.md文件的功能。

安装流程:

anaconda的下载与安装;

如果在windows环境下需要配置一下anaconda的环境变量,即将anaconda安装目录的bin目录在环境变量中进行设置;

现在,你就可以使用anaconda的命令conda,使用命令conda create -n torch python=3.6;(其中的torch是你所设置的环境名称,以后你可以将自己工作所需要的python库在该环境下下载,它可以根据自己的需求修改;python=3.6 是对该环境下所需的python版本的配置,可以根据需求修改)

命令conda activate torch,激活刚才创建的环境,相当于进入到该环境下,如果要退出该环境,可以使用conda deactivate;(但是,我在windows环境下使用时,不需要加前面的conda,自己可以试一试)

进入刚才创建的环境后,jupyter notebook命令打不开相应的编辑器,因此我们需要安装它,安装命令conda install jupyter notebook;

安装成功后,使用命令jupyter notebook,就会弹出一个网页,并且将该目录的内容在在网页端编辑器中显示出来;(如图所示,是我打开的一个jupyter notebook编辑器,对于每一个文件,都能打开并且进行编辑)

使用jupyter notebook直接打开.md格式的文件

但是,当我们打开一个md文件时,仅仅只会显示markdown格式的源码,无法显示渲染后的格式,因此,我们需要为jupyter notebook添加可以相应的功能,

pip install notedown,下载notedown;

修改jupyter notebook的配置文件C:\用户\jluaa\.jupyter\jupyter_notebook_config.py:添加c.NotebookApp.contents_manager_class = 'notedown.NotedownContentsManager';(前面无需加#)

之后,通过jupyter notebook编辑器就能实现打开md文件的功能。

注意

本人在配置好上述所示的jupyter_notebook_config.py文件后,在做其他项目时,另外创建了一个环境,下载好jupyter notebook后启动时,有如下报错:

[C 07:13:23.105 NotebookApp] Bad config encountered during initialization:
[C 07:13:23.105 NotebookApp] The 'contents_manager_class' trait of <notebook.notebookapp.NotebookApp object at 0x0000013EA754BB38> instance must be a type, but 'notedown.NotedownContentsManager' could not be imported

对于该错误,其中提到了contents_manager_class,所以可能和notedown在该环境下未下载有关,经过pip install notedown,成功解决!

补充知识:服务器 配置 Jupyter notebook 远程访问 (Ubuntu 14.04)

先决条件:

安装好Anaconda(python2或者python3版本都可以)

一般情况下Anaconda中自带Jupyter notebook.

可以在终端中使用

jupyter notebook

查看是否安装的有jupyter notebook.

如果系统提示没有这个软件的话.

在终端中使用

conda install jupyter

安装jupyter,(当然首先你得有anaconda,这个的安装这里不做过多的讲解.)

配置jupyter notebook远程

0.登录你的远程服务器

1.生成配置文件

jupyter notebook --generate-config

2.生成密码

使用ipython或者python都可以

$ipython
In [1]: from notebook.auth import passwd

In [2]: passwd()
Enter password:
Verify password:
Out[2]: 'sha1:cd723d3e4b0a:e5ca450bbedb63511c78989ea16b8d26941227fb'

注意这里需要把生成的密文复制下来,这里后面需要用到.

我这里是

‘sha1:cd723d3e4b0a:e5ca450bbedb63511c78989ea16b8d26941227fb'

这段.

3.修改配置文件

vim ~/.jupyter/jupyter_notebook_config.py

在打开的文件头部添加如下字段:

c.NotebookApp.ip='*' #意思是任意IP都可以访问
c.NotebookApp.password = u'sha1:cd723d3e4b0a:e5ca450bbedb63511c78989ea16b8d26941227fb' #刚才那个生成的密文
c.NotebookApp.open_browser = False #意思是默认不打开浏览器
c.NotebookApp.port =8888 #随便指定一个你想要的端口,后面可以从这个端口使用

4.启动jupyter

在你想要启动jupyter的目录使用如下命令

jupyter notebook

即可启动jupyter notebook

或者你可以使用如下命令 在后台启用jupyter notebook,并且推出当前ssh连接也不会中断程序.

nohup jupyter notebook &

5.远程访问

随便的电脑上打开浏览器访问IP:端口就可以远程访问服务器上的jupyter.

这个端口就是之前第三步里面你在配置文件中设置的端口.

比如说我这里是8888

假如我的服务器ip是127.0.0.1

那么我就可以访问

127.0.0.1:8888

6.其它

如果登陆失败,则有可能是服务器防火墙设置的问题,此时最简单的方法是在本地建立一个ssh通道:

在本地终端中输入ssh username@address_of_remote -L127.0.0.1:1234:127.0.0.1:8888

便可以在localhost:1234直接访问远程的jupyter了。

此外你也可以选择开放防火墙的指定端口(我这里开放了8888端口)

iptables -I INPUT -p tcp --dport 8888 -j ACCEPT
iptables save

以上这篇使用jupyter notebook直接打开.md格式的文件就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
DJANGO-ALLAUTH社交用户系统的安装配置
Nov 18 Python
python 循环while和for in简单实例
Aug 16 Python
python使用xpath中遇到:到底是什么?
Jan 04 Python
pandas string转dataframe的方法
Apr 11 Python
python3结合openpyxl库实现excel操作的实例代码
Sep 11 Python
Python爬取知乎图片代码实现解析
Sep 17 Python
解决python replace函数替换无效问题
Jan 18 Python
Python threading.local代码实例及原理解析
Mar 16 Python
python读取mysql数据绘制条形图
Mar 25 Python
如何基于Python爬取隐秘的角落评论
Jul 02 Python
Python持续监听文件变化代码实例
Jul 22 Python
Python使用Opencv打开笔记本电脑摄像头报错解问题及解决
Jun 21 Python
Selenium使用Chrome模拟手机浏览器方法解析
Apr 10 #Python
Selenium基于PIL实现拼接滚动截图
Apr 10 #Python
在jupyter notebook 添加 conda 环境的操作详解
Apr 10 #Python
Selenium向iframe富文本框输入内容过程图解
Apr 10 #Python
jupyter notebook 多环境conda kernel配置方式
Apr 10 #Python
OpenCV 表盘指针自动读数的示例代码
Apr 10 #Python
Python装饰器的应用场景代码总结
Apr 10 #Python
You might like
php addslashes及其他清除空格的方法是不安全的
2012/01/25 PHP
使用迭代器 遍历文件信息的详解
2013/06/08 PHP
深入PHP curl参数的详解
2013/06/17 PHP
解析PHP中ob_start()函数的用法
2013/06/24 PHP
Windows下编译PHP5.4和xdebug全记录
2015/04/03 PHP
php实现简单的权限管理的示例代码
2017/08/25 PHP
浅谈Laravel POST,PUT,PATCH 路由的区别
2019/10/15 PHP
PHP7 其他语言层面的修改
2021/03/09 PHP
jquery1.4后 jqDrag 拖动 不可用
2010/02/06 Javascript
jQuery ui插件的使用方法代码实例
2013/05/08 Javascript
js动态修改表格行colspan列跨度的方法
2015/03/30 Javascript
javascript中闭包(Closure)详解
2016/01/06 Javascript
BootStrap实现邮件列表的分页和模态框添加邮件的功能
2016/10/13 Javascript
AngularJs 利用百度地图API 定位当前位置 获取地址信息
2017/01/18 Javascript
angularjs过滤器--filter与ng-repeat配合有奇效
2017/04/20 Javascript
MvcPager分页控件 适用于Bootstrap
2017/06/03 Javascript
RxJS的入门指引和初步应用
2019/06/15 Javascript
浅谈一种让小程序支持JSX语法的新思路
2019/06/16 Javascript
在Vue mounted方法中使用data变量详解
2019/11/05 Javascript
node.js使用net模块创建服务器和客户端示例【基于TCP协议】
2020/02/14 Javascript
详解Python中最难理解的点-装饰器
2017/04/03 Python
利用python操作SQLite数据库及文件操作详解
2017/09/22 Python
django使用haystack调用Elasticsearch实现索引搜索
2019/07/24 Python
经验丰富程序员才知道的8种高级Python技巧
2020/07/27 Python
CSS3绘制超炫的上下起伏波动进度加载动画
2016/04/21 HTML / CSS
CSS3实现伪类hover离开时平滑过渡效果示例
2017/08/10 HTML / CSS
分公司经理岗位职责
2013/11/11 职场文书
力学专业毕业生自荐信
2013/11/17 职场文书
道德演讲稿
2014/05/21 职场文书
教学督导岗位职责
2015/04/10 职场文书
2015年物流客服工作总结
2015/07/27 职场文书
公司人事管理制度
2015/08/05 职场文书
思品教学工作总结
2015/08/10 职场文书
解决Jupyter-notebook不弹出默认浏览器的问题
2021/03/30 Python
Golang二维切片初始化的实现
2021/04/08 Golang
pytorch损失反向传播后梯度为none的问题
2021/05/12 Python