[Python基础]2 关于第三方库

其实主要说的是pip和conda这两个包管理器的用法

Steven-Zhl 头像
[Python基础]2 关于第三方库

Python之所以如此流行,很大程度上因为第三方库足够多,有大量的开发者维护和开发Python库。这篇文章聊一聊我平时最常用的一些第三方库,以及最常见的两个包管理器。

1. 开源协议

  • Python官方解释器CPython遵循的是PSF协议,这是一种非常宽松的协议,允许你修改源码,甚至闭源,只要保留原作者的版权声明即可。

    这有一篇知乎回答说的很清楚:用Python做的软件必须开源吗? - 来不及解释了的回答 - 知乎

  • Python对于第三方库几乎没有任何要求:允许闭源、开源协议不限,但大多数开发者仍然开源。
  • 因此如果你只是使用了原生Python进行了软件开发,那么无论是否商业化、是否开源,都不需要担心版权问题。而若是使用了第三方库,则需要注意第三方库的开源协议

    例如对于Python中十分常用的界面框架PyQt,它拥有两套授权协议:GPLv3商用闭源协议。前者意味着直接使用PyQt5的程序也需要基于GPL协议开源,而后者需要支付购买费用,才能闭源使用。

2. 包管理器

  • 包管理器是一种非常常见的工具,大多数编程语言都有自己的包管理器。它能够让你轻松安装第三方库,以便于你使用别人的工作成果,避免重复造轮子。
  • 比如.NET的包管理器NuGet,Java的包管理器Maven,JavaScript的包管理器npm,Ruby的包管理器gem等等。
  • 而Python的包管理器比较特殊,有两个:pipconda。这两个包管理器都有很多人使用,因此可以都聊一聊。

3. 镜像源

  • 镜像源就是存放并提供下载第三方库的网站,因为在用户的视角中,它就是“第三方库的来源”,所以通常这么称呼。
  • 其中最有名的是Python Package Index,通常简称为PyPI。它是Python官方的源代码托管网站,也是pip的默认镜像源。
  • 但由于这个网站建在国外,国内并没墙但访问仍然很慢,为了解决这个问题,国内很多能够合法访问外网的单位都建立了自己的镜像站:也就是定期将PyPI上的第三方库同步到自己的服务器上,然后给国内用户提供下载。
  • 在国内使用Python,换国内源可以说是基操,关于如何换源,请参照pip换源conda换源

4. pip

pip是Python自带的包管理器,在安装Python的时候,它就是附带的库之一。

pip自带一个简单的文档,可以通过pip -hpip --help查看。

其实自带的文档说明内容以及很全了,所以

4.1 安装

4.2 移除

4.3 更新

5. conda

conda是Anaconda提供的一个环境管理器,其功能范围不仅包括管理第三方库,还包括管理Python环境。应当说conda是一个更加强大的工具,但也更加复杂。