开发环境和运行环境_Data Science的开发环境搭建

86b9757e532cb167cdcfd19ec6ace8b9.png

“工欲善其事,必先利其器”,Data Science数据科学受到越来越多的关注,想要简单上手写几行Python代码不难,难的是系统化的开发和持续集成/持续部署。作为长远开发使用考虑,先就Data Science开发环境搭建做一些探索经验的积累。

其实使用Win/Mac/Linux都能进行数据工作的开发,但基于Linux的开发方式对后期真正生产环境的集成部署很有帮助,于是我们不论在哪个系统上写代码,还是希望最终能基于Linux环境开发。对于大部分使用Win的同学,我们选择基于Linux开发会有几种方式:

  • Linux单系统——只能单用总有不方便
  • Win+Linux双系统——切换系统需要重启且切换麻烦
  • Win+虚拟机Linux——虚拟机资源消耗大且对硬件资源要求高
  • Win+内置WSL——占用资源较少可随意重装,但有一些限制

所以在现在Win10的最新系统上,还是建议使用Win+内置WSL的方式来搭建基于Linux的数据科学开发环境。以实现在Window上编写、在Linux环境调试并适配部署应用的一体化开发。

Win10安装WSL

WSL是“Windows Subsystem for Linux”的缩写,是Win系统的Linux子系统,其作为Windows组件搭载在Windows10周年更新(1607)后的Windows系统中。在最新版系统上安装很简单,在Powershell(管理员)命令窗口里输入:

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

打开Win10应用商店,搜索“ubuntu”并选择Ubuntu 18.04LTS,如下图所示点击"安装":

c151f55431b28e27b00b6e0c31c2b9b4.png

启动后提示设置用户名和密码即可以用起来了。也用同学希望在WSL用图形界面,或是改造SSH登陆显示界面的可以简单搜到,我们这里希望仅使用WSL作为各种开发环境的安装,以适配各种IDE或编辑器对接开发环境联调代码。WSL下的中文字符显示,需要安装:

sudo apt install fonts-noto-cjk

Anaconda数据科学工具包的安装

数据科学研究多数构建在基于Python的开发环境(当然也有使用R开发以及面向大数据处理的Scala开发),而集成多种Python数据科学包的Anaconda可以为开发研究带来方便,也是业内常用的数据开发集成环境。

在WSL里,根据https://repo.continuum.io/archive/列表里的Anaconda版本(注意不同的Anaconda版本对应不同的Python版本以及集成包里的各packages版本),选择合适的版本如Anaconda3-2019.10-Linux-x86_64输入如下命令:

wget https://repo.continuum.io/archive/Anaconda3-2019.10-Linux-x86_64.shbash Anaconda3-2019.10-Linux-x86_64.sh

按提示步骤即可完成Anaconda集成环境在WSL下的安装。

Python开发IDE选择

如果把开发IDE和代码编辑器作为一起考虑,首选PyCharm+VSCode+Jupyter Notebook的开发方式来进行数据科学的数据探索工作,他们各自有各的优势:

  • Jupyter Notebook便于交互式想法试验适用于样本数据探索和模型试验
  • VSCode便于简单代码编辑
  • PyCharm集成环境便于工程项目debug开发

所以作为数据科学综合开发环境,选择分别安装Jupyter Notebook、VSCode和PyCharm来进行代码编辑、debug测试、原型试验和项目开发。

Jupyter Notebook交互式开发

安装好Anaconda后在WSL就可以启动Jupyter Notebook了:

jupyter notebook # 运行jupyter
e1a75b51e855436a74206ec5bf915870.png

命令提示给出的链接即可在Win10浏览器里打开,就可以开始Jupyter Notebook的开发实验了:

1f20bf6bc107aec21bc5f3e7e89dfab1.png

当然代码文件的存储也是在WSL里刚打开Jupyter的目录里,而WSL其实可以和Win10目录共享访问,其目录是在/mnt/c对应Win10的C盘目录。

VSCode代码编辑

VSCode作为轻量级代码编辑器是十分轻便优秀的,使用VSCode编辑Python代码需要连接WSL环境下的Anaconda和Python,需要配置让VSCode配合WSL开发环境运行起来

1.安装VSCode,下载地址https://code.visualstudio.com/

2.在VSCode中安装Code Runner插件和Remote-WSL插件(如下图所示),插件装好后右上角会有一个三角形图标,这个就是Code Runner编译运行程序的按钮

49796b4a7ec229ab6c2a361abc32c1a4.png

3.把VSCode的默认终端从Power Shell改成为WSL。在VSCode界面按F1会弹出一个搜索框,输入Open Settings(JSON)回车就到设置界面,在设置界面中填入

"terminal.integrated.shell.windows":"C:WindowsSystem32wsl.exe",

4.设置插件Code Runner。由于Code Runner默认的设置是为Windows准备的,所以必须把这些在Windows下的编译代码改成linux下的编译代码。方法同上一步,在Open Settings (JSON)中加入以下代码:

{ "code-runner.clearPreviousOutput": true, "code-runner.ignoreSelection": true, "code-runner.runInTerminal": true, "code-runner.saveAllFilesBeforeRun": true, "code-runner.executorMap": { "cpp": "g++ $fileName -lpthread -lboost_system -lboost_filesystem -o $fileNameWithoutExt && ./$fileNameWithoutExt", "python": "python3 -u ./$fileName"},

设置保存后,整个VSCode对接WSL环境就搭建完成了,下方的Terminal里面就是Ubuntu终端。如果代码要编译,则点击一下右上Code Runner那个三角形按钮,就可以编译并运行了。

PyCharm项目开发

PyCharm常用于项目类型的开发,相比VSCode的代码编辑功能强大更多,相比Jupyter Notebook的交互式方式更像一种解释编译运行的集成式IDE。使用WSL在PyCharm需配置远程解释器,完成对接在Linux环境的开发。

1.打开Add Python Interpreter对话框。在Windows下配置路径为File | Settings,在左边区域里点击WSL,例如下图所示配置Interpreter的路径:

9c0b5be8725aeec42a0103a35a839b90.png

2.如果已经在具体项目中,也可以通过路径File | Settings | Project | Project Interpreter点击配置图标选择Add后,再配置选择合适的Python解释器,并会列出其默认的库包版本如下图所示:

569ad73679ba6d9548fc280efab44f8d.png

点击ok配置完成后,就可以在PyCharm里开发项目,并基于Linux环境调试代码,所开发代码可以更顺利部署在Linux线上服务环境,当然如果希望DevOps更加一体化,可以考虑使用docker来完成开发环境的部署打包,这就需要WSL+docker的协同操作,这里因为WSL有些许限制还是需要配合Win版docker进行如有需要下回再展开介绍讨论。

结语

至此,我们搭建了便于数据实验的一体化数据科学开发环境,完成了基于WSL的Jupyter Notebook/VSCode/PyCharm的代码开发环境配置,可以更好的支持Python代码的开发以完成数据分析、模型训练、调参调优等一系列的迭代开发debug等工作,希望所介绍内容对大家实践数据科学实验有所帮助。

参考资料

  • Win10+WSL+VS Code搭建Ubuntu开发环境 https://zhuanlan.zhihu.com/p/57882542
  • 基于SSH调试的WSL+PyCharm配置方式 https://zhuanlan.zhihu.com/p/49227132
  • Configure a remote interpreter using WSL https://www.jetbrains.com/help/pycharm/using-wsl-as-a-remote-interpreter.html
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值