零基础学Python之初遇Python的一些小困惑

最近完全被python的各种版本,安装包,工具什么的弄疯了,感觉与python相关的东西太多了,一时间让人分辨不出来到底什么是干什么的。于是,我疯狂的查阅各种资料,才逐渐慢慢理解了与python相关的各种工具和包。下面,将我的困惑记录下来,希望可以和有同样烦恼的朋友分享!

1. conda、pip和anaconda到底是干嘛的,有什么区别?

在各种网站上找了好久,最后发现其实这些问题都可以从官方网站上找到。关于conda和anaconda可以从anaconda官网找到,关于pip可以从python官网找到。下面我简单摘录一些网站上的说明供大家参考。

anaconda、miniconda和conda

什么是anaconda

anaconda是一种开源的,易安装的高性能python和R发行版,它集成了conda包和环境管理工具,并且有1000+免费社区支持的开源包。

1-1

为什么要用anaconda

安装python作为终端一点也不好玩。许多科学包要求python的特定版本才能运行,并且它很难使各种包交互。很难保持更新。anaconda发行版可以快速简单的获取和更新这些包

1-2

什么是miniconda?

miniconda是没有1000+开源包的发行版,使用miniconda你只能使用conda命令安装你想用的包。

1-3

什么是anaconda navigator?

anaconda navigator 可以非常容易的使用图形化python编程而不需要使用命令行。

1-4

从这里我们可以知道,anaconda是一个平台,而conda是包和环境管理工具。

在python官方文档中的安装工具建议中可以看到,pip是一个安装python包的工具。

那么pip与conda有什么区别呢?

conda是Anaconda Python安装的软件包管理工具。 Anaconda Python是Continuum Analytics的一个发行版,专门针对科学界,尤其是在二进制扩展安装通常很困难的Windows上。

Conda是一个完全独立的工具,用于管理,虚拟化和轮式,但在包管理,虚拟环境管理和二进制扩展的部署方面提供了许多它们的组合功能。

Conda不从PyPI安装软件包,只能从官方的Continuum存储库或anaconda.org(用户提供的conda软件包的地方)或本地(例如内联网)软件包服务器进行安装。 但是请注意,可以将pip安装到并且与conda一起工作来管理来自PyPI的分发。

1-5

2、什么叫做包,常用的包有哪几个,每个包的作用是什么?

从python的官方文档可以看到,模块概念的引入是为了方便代码复用,提高代码的可维护性的。如果程序越写越长,那么程序的可读性就会越来越差,程序的 层次结构也会越来越不清晰。这时,我们可以把一个较长的程序分成很多容易维护的小文件,其类似于c语言中.h文件和.c文件的作用

2-1

而包的概念的引入是为了更方便的组织各个模块,防止相同名称的模块发生冲突,类似于c#或c++中的命名空间的作用。比如,两个不同包PA和PB都有同一个名字为M的模块,那么PA.M就表示PA包下面的模块M,PB.M就表示PB包下面的模块M

2-2

结论

当然,有这么多资源并不能保证你能学会。毕竟,只有真真正的去学你才能真真正正的学会,否则,收集了这么多资源也没什么用。其实,很多人有这种通病,有时候心血来潮,想学某个东西,网上下了一大堆资料,百度网盘存了一大堆资源,结果也只是放在那里堆灰尘而已,甚至某天发现自己有这么多资源的时候还很惊讶!

说了那么多,其实,最重要的是去做,去行动,去实践。

作者:阿苏尔

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180316A1P77C00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码关注腾讯云开发者

领取腾讯云代金券