首页 文章 精选 留言 我的

精选列表

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

资源下载

更多资源
Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

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

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册