机器学习呆鸟的Python数据分析

配置便捷的开发环境(PyCharm & Jupyter)

2018-09-18  本文已影响94人  beihaizhixin

由于在PyCharm中进行统计整理数据、画图等操作有诸多的不便。在本地的jupyter notebook进行处理又显得步骤繁琐(传输文件),故萌生在服务器搭建jupyter notebook的想法。两种工具优势互补,从而最大程度上集中注意力在项目本身,提升开发效率。

原文发布于个人博客(好望角),并在博客持续修改更新,此处可能更新不及时。


“工欲善其事,必先利其器”,接下来看看如何用PyCharm和Jupyter配置最便捷的python开发环境。

PyCharm

image

一打开软件界面,满满的科幻感迎面扑来。用色块构建的魔幻画面好似一张变形金刚的面庞。最新的版本加入了默认的Vim编辑模式,让强大的PyCharm更如猛虎添翼一般。

基础配置

打开设置界面的快捷键是Ctrl+Alt+S

代码模板

懒人改变世界,而程序员往往都很懒。。。能让计算机手工完成的内容绝对不会自己动手重复添加。

不难发现,在程序开发过程中,有一些代码基本没有变化,而且我们会经常性的重复使用。那么,这种傻傻很麻烦的事情最适合计算机来自动完成了。显然,开发PyCharm的程序员小哥想到了这一用户痛点。

File -> Editor -> File and Code Templates 中,我们可以将常用的文件类型中的一些常用代码写入该类型文件的默认模板中,例如。

# -*- coding: utf-8 -*-

除此之外,还可以在文件开头添加一些注释信息。如下所示:

image

版本控制

一个好的开发环境不可能没有版本控制系统。

PyCharm内置了CVS、Git、Mercurial、Subversion等多种版本控制工具,我们只需要简单的配置即可使用。

从github上Clone 代码,上传保存,进行版本控制,多人协同开发,统统可以在软件内轻松地完成。

远程调试

这是一个超级良心的免费功能,我相信即使这个功能收费,也会有很多程序员小哥继续使用PyCharm。在其他的地方写代码,我们都需要在本地调试好,再上传服务器。出问题后,再次修改,再次上传,非常浪费时间。那么如何简化本地代码和服务器代码之间的沟通工作呢?PyCharm也帮我们内置好了。

Tools -> Deployment -> Configurtion中可以配置好多台服务器,如果服务器中的python环境配置良好,我们就不需要再单独在本地配置一遍。配置如下所示:

image

在对应的位置填写好服务器的位置,自己的用户名和密码,以及想要打开的根目录(节省重复打开文件夹的时间)。

第二个选项卡Mappings中配置本地项目和服务器项目对应的映射关系。这里有个需要注意的地方,建议只将代码和训练语料分开存储,不要使训练语料成为映射项目的一部分,加快加载速度。在第一次配置好开发环境的时候,需要将服务器的一些文件下载到本地,需要稍等几分钟,以后就很幸福了!

Tools -> Deployment -> Configurtion中选择本地文件的上传方式,我这里将Ctrl+S设置为本地保存并上传服务器。

Jupyter-notebook

对于jupyter notebook来说,它的缺点还是十分明显的。没有一个很好的框架,不能清晰的构建大型项目。也不曾拥有IDECtrl+点击函数名就可以跳转的方便功能,导致阅读代码吃力。

但同样的,它的对于PyCharm的优点也是无可替代的。

虽然优点众多,但如果只能在本地运行也只能算是鸡肋。经常将工程中的部分文件从服务器传输到本地再分析,这是一件很累人的事情。

服务器jupyter搭建

from notebook.auth import passwd
passwd()
jupyter notebook --generate-config
c.NotebookApp.ip = '*'  # 允许访问此服务器的 IP,星号表示任意 IP
c.NotebookApp.password = u'sha1:xxx:xxx' # 之前生成的密码 hash 字串
c.NotebookApp.open_browser = False # 运行时不打开本机浏览器
c.NotebookApp.port = 12035 # 使用的端口
c.NotebookApp.enable_mathjax = True # 启用 MathJax
nohup jupyter notebook > notebook.file 2>&1 &

调用方式:在本地浏览器中输入服务器地址:设置的端口号即可。例如:165.32.65.109:7060

Jupyter 优化

pip install jupyter_contrib_nbextensions --user
pip install jupyter_nbextensions_configurator --user
pip install --upgrade ipykernel --user
chmod 777 ~/.local/share/jupyter/
pip install --upgrade --user nbconvert
pip install --upgrade jupyter_core jupyter_client --user

总结

至此,PyCharm 和 Jupyter 都已经配置完毕。今后PyCharm仍然是主力的代码编辑工具。但在工程构建过程中,免不了许多中间结果需要分析和查看,这个时候Jupyter就可以派上用场。进行轻量的模块化分析任务。另外,Jupyter也可以打开文本文件进行编辑(可以自由选择Vim/Sublime等编辑模式),这样就不用使用WinSCP来单独查看文件;Jupyter也可以打开Terminal,这样我们就不用再单独使用Xshell,Xming等软件。释放本地内存,

我们只需要开启浏览器和PyCharm就可以方便交互服务器,进行代码的版本控制,以及进行数据分析。接下来可以更加愉快的干活了!

上一篇 下一篇

猜你喜欢

热点阅读