首页 文章 精选 留言 我的

精选列表

搜索[AI编码],共10000篇文章
优秀的个人博客,低调大师

有一种痛叫编码一小时,环境部一天

初学者最关心的第一个问题是: 什么是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吧,这就可以避免我在前文中提到的我遇见的那些问题啦 “工欲善其事必先利其器”。 我们不能一味地只去学习编程,有时候还是需要停下来学习使用一些工具,这样会让我们的学习和工作效率大大提升。 我这里只是告诉大家有这么个东西可以这么去用,具体的学习过程,还得靠大家,百度一下,你就知道。 本文作者:二胖并不胖 本文来自云栖社区合作伙伴“大数据前沿”,了解相关信息可以关注“大数据前沿”

优秀的个人博客,低调大师

i-have-adhd:给编码代理装上一颗“不许绕弯子”的脑子

有些工具不是为了增加功能,而是为了纠正一种让人抓狂的习惯。i-have-adhd 就很像这样一个项目。它不负责写更多代码,不负责接更多接口,也不负责替代理上天入地。它盯上的,是另一件看似小、其实每天都在消耗人的事:回答明明可以一句话说清,却偏偏要先铺三层垫子,再绕五个弯,最后把真正有用的动作埋在中间。

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册