使用了Python后,尤其是Jupyter Notebook作为Python代码的编辑器,简直爱不释手,总结了一些常用但是容易忘记的小经验,持续更新中。
1、更改打开默认目录
在windows环境中,一般通过Anaconda安装Jupyter Notebook(安装过程略),安装好之后,一般通过直接点击Jupyter Notebook图标或打开cmd命令窗口,输入jupyter notebook打开,打开后会通过默认浏览器打开一个链接(localhost:8888/tree),而页面内则显示C:\Users\username下的所有文件夹及文件,这通常不是我们日常用于存储代码的路径,有什么办法能打开就显示到我们常用的代码呢?
1.1、打开 cmd ,输入命令 jupyter notebook --generate-config,将生成 jupyter_notebook_config.py文件
1.2、在C:\Users\username\.jupyter 中的文件找到文件 jupyter_notebook_config.py
1.3、用记事本打开找到# c.NotebookApp.notebook_dir = '',删掉#,修改内容为:c.NotebookApp.notebook_dir = r'E:/jupyternotebook',其中E:/jupyternotebook为代码目录,可根据自己实际情况修改
1.4、重新启动Jupyter Notebook,浏览器打开的默认目录即为:E:/jupyternotebook
2、配置Jupyter Notebook远程设置
安装好Anaconda以后直接在cmd上输入jupyter notebook便可以在浏览器中使用。但是它默认只能在本地访问,如果想把它安装在服务器上,然后在本地远程访问,则需要进行如下配置:
2.1、登录远程服务器(以xshell为例,在windows上远程登录Centos7系统的服务器,未使用过的可以自行百度),安装Anaconda(linux系统的安装也请自行百度)
2.2、生成配置文件,输入命令 jupyter notebook --generate-config,将生成 jupyter_notebook_config.py文件(已经生成的可以忽略,注意这个是远程服务器上的操作)
2.3、创建密码,在远程服务器上,输入python,进入python编码环境(其中输入的密码需要记住,后续使用登录需要用到,生成的sha1:……等一串字符串也需要复制下来备用)
In [1]: from notebook.auth import passwd
In [2]: passwd()
Enter password:
Verify password:
Out[2]: 'sha1:da76b421673a:38745290d3bcd3d83c82f18c63968a41f1140274'
2.4、编辑配置文件,$vim ~/.jupyter/jupyter_notebook_config.py,添加如下内容,并保存
c.NotebookApp.ip='*'
c.NotebookApp.password = 'sha1:da...生成的密文'
c.NotebookApp.open_browser = False #此处是关闭了服务器端的浏览器打开
c.NotebookApp.port =8888 #指定访问端口
2.5、在远程服务器端输入jupyter notebook启动,然后在本地浏览器输入http://远程服务器IP:8888,可以看到jupyter的登陆界面,登录输入之前的密码,即可登录使用。
3、Python2与Python3的切换与快捷方式
有时候由于Python2与Python3的代码不兼容(比如:使用Python2进行的机器学习生成的训练结果保存了,但是训练集丢失了,Python3又无法读取训练结果,也没有准确的训练集重新训练,只能两个版本暂时共存),Python2与Python3不得不同时存在,如果是使用Anaconda,则又如下方式可以方便通用(如果已经安装了Python2与Python3,可以参考此文章https://www.cnblogs.com/shabbylee/p/6792555.html)
3.1、两个版本共存的安装,先装一个Anaconda2,再装一个Anaconda3,后装的安装目录需要在D:\Anaconda2\envs之下,此处可以简称为py3
3.2、创建快捷命令访问Python2和Python3,可以在桌面新建记事本,根据需要输入如下内容,并更改后缀为.bat,使用时双击即可(还可以参考https://www.cnblogs.com/linkxu1989/p/6691881.html)
#切换python3
call activate py3
call jupyter notebook
#切换Python2
call jupyter notebook