阅读本文大概需要 6 分钟。

前阵子有个朋友问我一个 Python 相关的问题,然后我把解决方案简单用代码写了一下发给他,结果他说跑不起来,我就很纳闷,确认了下他说 Python 库也都装了,但是运行的时候还是会报库找不到。果不其然,经过一段时间沟通发现,它的机器上装了两个 Python 环境,装 Python 库的时候是用的 pip 安装的,它对应了一个 Python 环境,但是运行的时候却是用的使用的 python3 命令却是对应另外一个 Python 环境,理所当然就跑不通了。这个问题其实挺常见的,有时候跟对方说检查下 Python 环境路径什么的,但是对方有时候并不知道怎么做,或者直接得再告诉他用 python3 -m pip install ... 命令来装包。

另外我还有个需求是,我写了一些代码,想直接把运行结果和代码发给别人看,一种方法可以直接借助于 GitHub,代码放上去,然后让对方 Clone 下来再运行。对方也得配置下相关的环境才能正确跑起来。另一种方法则是打包 Docker 镜像,但是这也得额外花一些时间。有没有更好的方案解决这个问题呢?

上面这就是两个问题:

  • 环境不一致的问题

  • 环境共享的问题

这俩问题有通用的解决方案吗?有!答案就是云 IDE。有了云 IDE,不仅以上两个问题可以解决,甚至都不用自己配置开发环境了,我们只需要一个浏览器就能在线编辑代码,同时这个 IDE 还能分享给他人,他人打开之后,看到的就是和我一模一样的内容,甚至还可以看到我正在编写代码的实时效果。

美哉美哉!

今天就给大家介绍一款云 IDE,是华为家的,叫做「华为云CloudIDE」,我试用了一下感觉还不错,它的官方介绍页面是这样的:

官方介绍如下:

通过华为云CloudIDE,您仅需一个浏览器就可以编辑、调试、运行您的代码。

开发环境通常包括各种配置文件、特定的语言、框架版本、以及其他个人设备等等一系列个人配置。当您开发一个新的项目或者测试一些程序时,不得不对已有的个人配置做相应的调整。或者,您可以通过CloudIDE将个人的偏好设置转移到云端。CloudIDE将存储项目设置,实现您与他人共享,并通过浏览器授予访问的权限。您可以将所有文件保存在云环境中,并通过各种访问设备操作管理它们。开发环境在云端,您可以实现代码阅读、编写、调试、运行,也可以将代码存入代码仓库,随时、随地、随心!

和我刚才说的就是一样的,利用它我们可以解决诸多问题:如环境配置、环境统一、环境共享的问题,同时我们还可以随时随地编辑代码,丝毫不受机器的限制,上云之后,一切都是那么方便。

好,这里我就带大家来体验下「华为云CloudIDE」吧。

首先,目前「华为云CloudIDE」是可以免费体验的,每个人每天有 120 分钟的免费体验时间,如果要获得更好的体验可以创建付费实例。

目前免费体验需要有这些规定:

尊敬的用户,您已经开通CloudIDE服务,免费体验需要遵守如下约定:

  • 每天的免费体验时间为120分钟,少于5分钟不能创建新的体验;

  • 每个实例可使用时长为60分钟,60分钟后,实例将会被删除,并且数据将会被删除;

  • 同一时间只能体验一个实例,打开第二个实例将会自动关闭第一个实例;

  • 免费体验不能保证最佳使用体验,您可能需要排队等候,付费使用可以获得更好的体验

完全没问题,体验完全足够了。

我这里操作的 URL 是 https://devcloud.cn-north-4.huaweicloud.com/cloudide/trial,大家可以注册个华为云账号就能看到对应的入口页面了,就是上文发的图。

由于我对 Python 比较熟悉,那么我就来体验一个 Python 环境吧,找到下方的 Python 环境,然后点击「免费体验」。

这时候环境就会变成「启动中」的状态,如图所示:

然后接下来我们就会进入到云 IDE 的环境,等待一顿初始化之后之后,我们就可以看到如下页面,如图所示:


嗯?有没有熟悉的感觉?

没错,这和 VS Code 可太像了,简直就是一个在线版的 VS Code。不过仔细看看,其实还是有些不一样的,比如左上角的 Logo,插件仓库以及一些菜单选项。可以说是 VS Code 的魔改版。

我们看下左侧栏其他的菜单,搜索、版本控制、调试没啥好说的,看看插件仓库吧,打开之后是这样的:


这里我们可以看到「华为云CloudIDE」已经为我们预装了一些插件,如 Python。另外下方还有一些推荐的插件,例如 Huawei Cloud Toolkit,这些插件的安装方式和 VS Code 是一模一样的。

接下来我们再看看菜单的一些配置,随便挑几个看看吧:



几乎所有功能菜单和 VS Code 是一样的,不过「华为云CloudIDE」添加了一些入口,比如 Close Instance 等等,点了之后就会关闭当前云 IDE 实例。

OK,接下来我们再回到代码看看,看看它给初始化了个什么,代码结构是这样的:

就是一个基本的 Flask 的 Hello World。

那来跑跑试试吧,点击右上角的运行按钮,如图所示:


哦,居然报错了,内容如下:


这里报错说找不到 flask 这个包,那很明显就是没安装了,正好我们可以看到 requirements.txt 定义了相关的依赖环境,那我们来手动安装下吧。

在当前命令行下输入:

pip3 install -r requirements.txt

运行结果类似如下:


看起来不错,另外可以观察到它是从 https://repo.huaweicloud.com/repository/pypi/ 这里下载的 Python 包,速度也挺快的。简直是意外收获呢,又发现了一个不错的 Pypi 加速镜像。

顺便看看 pip.conf 配置吧:

cat ~/.pip/pip.conf

结果如下:

[global]
index-url = https://repo.huaweicloud.com/repository/pypi/simple
trusted-host = repo.huaweicloud.com
timeout = 120
extra-index-url = https://obs-workspace-20180810.obs.cn-north-1.myhuaweicloud.com/pypi/simple

一目了然,可以看到 pip 全局配置了一个加速镜像,index-url 配置为了 https://repo.huaweicloud.com/repository/pypi/simple,这个是可以公开访问的,所以以后

我们装包的时候就可以这么来装了:

pip3 install requests -i https://repo.huaweicloud.com/repository/pypi/simple

速度还是挺不错的,美滋滋,意外收获。

OK,切回正题,这时候我们已经装完环境了,重新运行 app.py,这时候就可以发现运行成功了,结果类似如下:


可以看到它就在 8080 端口上运行了一个服务,那咋访问呢?

在运行的同时,还弹出了这么一个窗口,如图所示:


似乎是提示我们可以注册一个外部端口将服务暴露出去,我们点击 Register 和 OK。

接下来 OK 按钮就变成了 Access 按钮,如图所示:


还带了一个二维码和 Copy 按钮,我们 Copy 一下看看,我 Copy 之后的 URL 是 https://sermgcaktl-8080-cce-5.lf.templink.dev/,然后我在浏览器中打开,显示如下:


很不错啊,这是自动给我们生成了一个域名,然后还把服务暴露出去可供访问了,挺好。

接下来我们再看看 Workspace 吧,切换下代码文件夹,点击 File - Open ,可以看到如下页面:


可以看到当前打开的是 python3-sample 这个文件夹,那能换其他文件夹吗?我在上方输入个根目录 / 看看,结果如图所示:


出现了熟悉的 Linux 文件树结构,那可以断定这其实就是一个 Linux 环境了,那岂不是干啥事都行了。

找到 /home/user/projects 目录,看起来是用来专门存放项目的目录。

另外我再试试能否随便打开一个 GitHub 上的项目吧,比如在控制台进入刚才这个目录,然后 Clone 一个项目,命令如下:

cd /home/user/projects/
git clone https://github.com/Python3WebSpider/ScrapyTutorial.git

OK,简单 Clone 了一个 Scrapy 项目,成功!如图所示:


然后打开下这个项目,如图所示:


打开 Terminal,安装下依赖:

pip3 install scrapy pymongo

另外这个项目依赖于 MongoDB,不过我们这里仅仅测试,可以取消它的依赖,setting.py 中注释掉如下代码:

ITEM_PIPELINES = {'tutorial.pipelines.TextPipeline': 300,
-    'tutorial.pipelines.MongoDBPipeline': 400,
+    #'tutorial.pipelines.MongoDBPipeline': 400,
}

然后接下来可以运行如下命令启动爬虫了:

scrapy crawl quotes

这时候就可以看到爬虫就成功运行了,如图所示:


完美,Clone 的项目也成功运行了,美滋滋。

最后我们看看这个退出之后怎么样,先复制下当前的 URL,我的 URL 是 https://ide.devcloud.cn-north-4.huaweicloud.com/cce-5/sermgcaktl/#/home/user/projects/ScrapyTutorial,然后我们直接关掉当前页面选项卡,然后重新进入,看看现在的运行状态还在不在。

牛逼!重新进入之后还是原来的样子,控制台依然还是开的,跑的结果也依然有!


很好!

那这个环境怎么分享给别人呢?看了下「华为云CloudIDE」是支持分享功能的,这里可以进入到 CloudIDE 的首页,点击管理,然后通过白名单或者黑名单的方式添加用户就可以了。


好了,到现在为止「华为云CloudIDE」就体验完了,感觉整体上还是挺不错的,大家也可以来体验试试看吧!

好文和朋友一起看~

原创丨带你体验一下云上编码的感觉相关推荐

  1. 阿里冬奥线上+线下展馆开启 带你体验「云上奥运」

    阿里巴巴平昌冬奥展馆位于韩国江陵奥林匹克公园内,开放时间从2月11至25日平昌冬奥会闭幕,每日(韩国当地时间)早上10点至晚上10点开放供参观. 今天是冬奥会阿里巴巴展馆面向公众开放的第一天,虽然室外 ...

  2. 会展云技术解读丨多重安全保障护航云上会展

    云妹导读: 2020年初,一场疫情突如其来,各行各业都深受影响.会展业可能是其中受影响最严重的行业之一,疫后漫长的复苏期也为其前景蒙上了一层阴影.在线下展会开展困难的情况下,许多传统线下大会纷纷转到线 ...

  3. 春色满园关不住,带你体验阿里云 Knative

    作者 | 元毅 导读:Knative 是基于 Kubernetes 的开源 Serverless 应用编排框架.阿里云 Knative 在社区 Knative 基础之上,与阿里云产品进行了深度的融合, ...

  4. 数字医疗产业论坛丨03期沪贵云上

    ​ " 开源是未来数字化转型的一个方向,我们要久久为功,以长远的眼光,发挥开源人的协作精神,通过联合产业沙龙,广泛整合资源,进一步推动医疗数字化转型. Mon. October 24, 20 ...

  5. 纽约市立大学布鲁克林学院计算机系,纽约市立大学布鲁克林学院教授张嘉如 带你体验《舌尖上的道德》...

    10月29日,纽约市立大学布鲁克林学院教授.比较文学博士张嘉如做客黄河讲坛,以<舌尖上的道德:走向关怀饮食美学新境界>为题,为我校师生作了一场生态视角下的关怀饮食美学讲座. 她从何为关怀饮 ...

  6. 华栖云携阿里云首发云上电视台服务:致力于把电视台搬上云端

    5月23日,华栖云携手阿里云宣布,正式推出国内首个"云上电视台"解决方案,致力于为视频节目制播单位打造一个云端媒体核心生产业务资源平台,提供高清视频在公共云上安全的采.编.播.存. ...

  7. 简化办公,云上助力!

    当今社会,随着云计算技术的飞速发展,云上办公成为一项备受关注的新兴技术.它为人们的工作带来了全新的可能性和便利性,让办公变得更加高效和灵活. 云上办公是一种基于云计算的办公方式,通过互联网连接,让用户 ...

  8. 如何优雅地在云上“摆摊” 直播带货,这些技术很重要

    最近,国家政策开始鼓励"地摊经济",一时间各家企业平台纷纷推出地摊扶持政策,地摊概念股顺势大涨,地摊生态及配套商品也开始走俏,甚至在网络上也涌现出各种"新摊主速成攻略&q ...

  9. 互动赠书 | 云上云下K8s多集群如何实现集群管理和安全治理的一致体验?

    作者|郝树伟(流生) 以 Kubernetes 为代表的云原生技术不仅屏蔽了各个云厂商和数据中心在基础设施上的差异性,还使得应用可以在不同的云上使用标准化的方式描述和部署运行.在此基础之上,我们才可以 ...

最新文章

  1. java如何恢复成eclipse项目,清理一下垃圾,Eclipse里面的项目全部不见了,怎么恢复...
  2. 数据挖掘原理与算法:机器学习->{[sklearn. model_selection. train_test_split]、[h2o]、[网格搜索]、[numpy]、[plotly.express]}
  3. 基于SIP和RTP协议的开源VOIP之QuteCom简单介绍
  4. 延迟反馈带来的样本偏差如何处理
  5. chkconfig: 2345 20 80
  6. Python学习笔记-2017.8.08
  7. 小米获京东自营安卓平板销量冠军 小米平板5 Pro全版本降100元
  8. hive中的日期转换函数
  9. JavaSE09:String、StringBuffer、StringBuilder底层源码解析(纯干货)
  10. Codeforces525E Anya and Cubes(双向搜索)
  11. UTC时间转北京时间原理与matlab代码
  12. 微软开源网络攻防模拟工具CyberBattleSim介绍及源码分析
  13. ppt变成了图片不能编辑文字怎么办_解决PPT字体缺失这个问题,这个技巧你一定要掌握...
  14. 复联4里的钢铁侠原型是谁?(剧透警告慎入)
  15. linux密码是什么加密方式,Linux系统的几种加密
  16. signature=da0cbfb45ebebe4ea0118c0a20df185e,MS15-018:Internet Explorer 累积安全更新:2015 年 3 月 10 日...
  17. Java 读书笔记1
  18. dnf 跨服 服务器 位置,DNF1228跨区了能干嘛_最新的具体跨区怎么分
  19. 诸神之眼——nmap入门教程
  20. 超焦距是什么?如何应用超焦距?

热门文章

  1. SQL找出顺序列中的断号
  2. 图像修复三: Image Completion Approaches Using the Statistics of Similar Patches
  3. 世界上最棒的10种思维
  4. 基于matlab的BOC调制解调的同步性能仿真,输出跟踪曲线以及不同超前滞后码距下的鉴别曲线
  5. 整合QC质控结果的利器——MultiQC
  6. bootstrap表格自定义表头
  7. pyqt5与opencv对照片换底色
  8. ffmpeg 视频拼接
  9. 橘猫图书管理系统--数据库原理期末项目
  10. 【经验分享】我的数据挖掘竞赛之路及秋招总结