有一种痛叫编码一小时,环境部一天
初学者最关心的第一个问题是:
什么是Anaconda?
官方定义:Anaconda指的是一个开源的Python发行版本,其包含了conda、Python等180多个科学包及其依赖项。
但它不仅仅是一个包的集合,它其实还有一个大包的思想,即一种虚拟的环境。用一个不恰当的比喻,它是一个Python专用的环境虚拟机。
你可以在一台机器上安装不同的Python环境,每个环境的Python版本可以相同也可以不同,在每个Python环境下也可以安装不同的包。
举个例子,我的某一个项目需要使用Python3.6,又一个项目需要Python3.7,还有一个项目需要Python2.7。这种情况下,我可以在我的计算机上创建三个环境,三个环境互不影响,并且可以很简单地从一个环境切换到另外一个环境。
Anaconda是有桌面版的,即可视化交互,不过我个人更喜欢用命令行,所以这里用命令行给大家做演示。
比如用以下命令可以创造一个全新的Python环境,我们可以指定环境的名称,还可以指定Python的版本。
比如我现在新创建的环境名称叫:twofat(二胖),Python版本为3.5。
conda create --name twofat python=3.5
稍等几秒后,就安装好了。
现在我们看看我的环境中有几个Python版本了:
一共有两个Python版本了。
第一个版本是基础版本,所以在环境路径前有一个“*”的标志。默认环境的Python3.6.4:
现在我们切换到刚刚新生成的第二个Python版本:
可以看到“*”符号已经跑到twofat这个环境前了,Python版本也变成3.5.6,真的实现了一键切换版本,十分方便。
除此之外,Anaconda已经包含了200余个Python包,不管你是做数据分析还是Python后端开发,都很方便。既然有这么好用的东西,现在就动手去了解它吧,为什么还要等明天呢?
如果说Anaconda是对Python开发环境的虚拟,那么可以说Docker是对整个系统的虚拟,但它并不是我们所说的那种普通虚拟机。
很多在校大学生的笔记本电脑上装的是Windows系统,但是当学习《操作系统》等相关课程的时候,会要求使用Linux系统,这时候怎么办?
大多数人的选择是VMware,一款很牛逼的虚拟机,它可以在Windows机器上虚拟出一个Linux系统,也可以在Mac系统中虚拟出一个Windows系统。
VMware对学习者来说无疑是一个好得不能再好的工具,不过它也有一个缺点——它的性能就如同下面这张图描述的那样:
在实际开发环境中肯定不能这样搞,在物理机中使用虚拟机会使机器性能大打折扣。但我们直接在服务器上进行开发又不现实,开发环境和部署环境或多或少会有一些区别,很容易因为环境不一致而部署不上。
不只我在开头提到的那个问题,其实我还遇见过很多类似的问题,比如GCC版本不一致、OpenSSL版本不对等等,简直蛋疼的要命。我们常需要耗费很多精力来解决因为环境依赖而产生的很多问题。
所以容器虚拟化这种技术应运而生,Docker将软件和其所依赖的环境一起打包成镜像进行交付,这样就避免了因为环境不同而产生的依赖问题。
其实用过虚拟机的同学应该知道什么是镜像。当我们安装虚拟机的时候需要下载一些操作系统的镜像,它其实就是把操作系统以及操作系统上默认安装的软件进行了打包。镜像就是这个意思。
那么问题来了,既然传统的虚拟机和Docker都是打包镜像,那为什么要选Docker而不选择VMware等虚拟机呢?
传统的虚拟机是通过中间层将一台或多台独立的机器虚拟地运行在物理机上,而容器是直接运行在操作系统内核之上的用户空间,性能是传统虚拟机不可比拟的。
不过,有时候优点也是缺点,前文咱们讲到了,VMware等虚拟机可以在Windows系统之上再虚拟一个Linux系统,也可以在Mac系统中虚拟Windows系统。可是Docker不行,正是由于它直接运行在操作系统的内核之上,所以它只能运行与底层宿主机相同或者相似的操作系统。简单来说就是,Linux物理机只能运行Linux容器。
所以,学习《操作系统》等课程的时候,我们可以选择VMware等软件,而在实际开发中,还是使用Docker吧,这就可以避免我在前文中提到的我遇见的那些问题啦
“工欲善其事必先利其器”。
我们不能一味地只去学习编程,有时候还是需要停下来学习使用一些工具,这样会让我们的学习和工作效率大大提升。
我这里只是告诉大家有这么个东西可以这么去用,具体的学习过程,还得靠大家,百度一下,你就知道。
本文作者:二胖并不胖
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
专家汇 | 深入解析数据存储技术原理及发展演进
1从传统存储到云存储的转变,其中经历了哪些设计思考与系统架构演变? 涵盖硬件与软件的存储系统科学,其中蕴含了哪些精妙的技术设计理念? 本期/专家汇/ 我们来聊聊关于数据存储技术的那些事儿 专注存储技术研发十多年,历经中科院计算所存储研究中心、EMC、Memblaze著名存储研发机构,从传统存储阵列、虚拟化集群存储、数据去重、闪存存储一直做到大规模分布式存储。长期从事存储前沿技术的研究与开发,精通软、硬件技术,发表十余篇学术论文,拥有多项海内外存储技术专利,是“存储之道”技术博客作者,盘古分布式存储资深技术专家储道。 课程亮点 助力开发者快速打开数据存储大门 大数据时代,计算、存储与网络成为数据中心基础设施的核心资源。存储作为数据存储的载体起到了核心与关键的作用,成为企业赖以生存的核心资产。 最近几年,存储技术得到了飞速发展,尤其是半导体存储介质的
- 下一篇
Docker 在企业容器平台软件套件评比中拔得头筹
出品丨Docker公司(ID:docker-cn)编译丨小东每周一、三、五晚6点10分 与您不见不散! 旧金山讯 – 2018 年 10 月 16 日 – Docker 今天宣布,它在 The Forrester New Wave™:2018 年第四季度企业容器平台软件套件评比中被评为第一名。该报告确认 Docker 企业版获得与众不同的评价,在包括运行时及编排、镜像管理、运维管理、安全性、愿景等八大标准的评比中被打出满分。按照 Forrester 的说法,Docker:“为企业提供了首屈一指的合适而可靠的容器平台...在传统应用和微服务应用的现代化方面都深受欢迎,”而且“提供了从开发人员的桌面到生产环境的安全容器供应链。” 在这份报告中,接受采访的客户强调了 Docker 实现端到端镜像安全性的思路,对 Windows 的支持以及专业支持人员的工作,并表示“Docker 企业版方便了我们使用容器,”而且“该平台的稳定性使我们取得了如今的成就。” Docker 企业版使各个组织能够按自己的步调选择经济划算地构建和管理整个应用组合的方式,并且自由地将这些应用部署到任何基础架构上。有了 D...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS8编译安装MySQL8.0.19
- 设置Eclipse缩进为4个空格,增强代码规范
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS6,CentOS7官方镜像安装Oracle11G
- Red5直播服务器,属于Java语言的直播服务器
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池