果冻想
认真玩技术的地方

Python安装第三方模块总结

前言

我们经常自嘲到:“人生苦短,我用Python”。其实这是有根据的,一来Python真的很简单,很容易上手;二来Python丰富且易用的第三方模块;这两个优点省去了大量重复造轮子的时间,节约了众多开发者的生命。所以现如今Python这么火,大行其道,也是有其原因的。

虽然Python非常好用,但是作为初学Python的同学来说,在安装Python第三方模块时,总是感到疑惑甚至有点茫然。为什么这么说呢?在Python中安装第三方模块时,你会看到easy_installpip等,又会看到Eggwhl等,这些直接到底有什么关系呢?这些东西会把你搞的很晕,这里直接推荐一篇关于Python包管理工具解惑的文章,建议大家先去阅读一下这篇《Python包管理工具解惑》文章,然后再回过头来看我接下来的总结。

在我们实际工作中,安装第三方模块时,我们无非会遇到以下的几种情况,而我这里就注重从实际的工作角度出发,重点讲讲我们工作中会使用的场景。

源码安装

几乎所有的第三方模块我们都可以在PyPI或者github上找到源码,这些第三方基本上都会提供tar.gz或者zip格式的源码压缩包,把代码包下载到本地并解压,在源码目录里会有一个setup.py的文件。从命令行进入到源码包根目录,执行以下语句:

python setup.py install

这样就完成了这个第三方模块的安装。

包管理器安装

相对于源码安装来说,通过在线使用包管理器安装,那更是快捷、简便!只需要一条命令,就可以自动完成第三方模块的下载与安装。

在这篇《Python包管理工具解惑》文章里也提到了,Python常用的包管理器是pipeasy_install。它们会从PyPI的源里搜索我们需要的模块,找到后自动下载安装。PyPI是Python官方的第三方模块仓库,供所有开发者下载或上传代码。不过现在都是主推使用pip,所以后续大家在工作中,能使用pip,实在没法使用pip,再考虑easy_install,如果easy_install都不好使,那就源码安装吧。这个一般是我安装第三方模块所思考的顺序。

通过pip安装第三方包很简单,比如我要安装pandas这个第三方模块,我从PyPI查询到这个模块后,官网页面上就提供了安装语句:

pip install pandas

但是,但是国内的网络环境你也知道,总是有那种或者这种的问题,导致在线安装速度很慢;所以呢,国内就有很多PyPI这个源的镜像,有名的就有清华大学的、豆瓣网的;我们可以设置通过这些国内的镜像来在线安装第三方模块。比如我要从清华大学提供的镜像源来安装pandas:

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pandas

当然了,每次输入这么一长串地址很麻烦,所以我们也可以把清华大学的镜像源设置为默认的安装源:

pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

这样后续的安装就都会默认从清华大学镜像源去下载第三方模块。以下是国内比较好用的一些镜像源:

  • 豆瓣:https://pypi.douban.com/simple/
  • 阿里云:https://mirrors.aliyun.com/pypi/simple/
  • 中国科技大学:https://pypi.mirrors.ustc.edu.cn/simple/
  • 清华大学:https://pypi.tuna.tsinghua.edu.cn/simple/

离线安装

关于离线安装这种场景,在我们实际工作中是经常会遇到的,因为我们的服务器基本上都是在内网,不可能连接到互联网上的各种镜像源,所以我们不得不面对离线安装第三方模块的问题。对于需要离线安装第三方模块包,一般都是使用以下两种方法:

  • 源码安装
  • 通过whl包安装

关于如何使用源码安装,上面已经总结过了,这里重点说一下通过whl安装。

通过PyPI查询到这个我们需要的第三方模块后,在下载列表都会看到一堆这样的下载文件:

whl包下载

wheel文件格式本质上是一个zip包格式,它使用.whl扩展名,用于python模块的安装,它的出现是为了替代Eggs。

从上面的下载列表里,我们可以看到不同的平台、不同的Python版本都有不同的下载链接,我们根据我们的实际情况下载,然后通过pip命令就可以完成安装,比如这样:

pip install C:\Users\Jelly\Downloads\pandas-0.24.2-cp36-cp36m-win32.whl

这样就离线完成了第三方模块的安装。

总结

这篇文章从我们实际的工作疑惑和痛点出发,通过一篇文章来解决这些疑惑和痛点问题,还算是值得的,不去主动解决,这些问题可能就会一直困扰我们,所以后续这样的问题还会很多的,通过总结实际的问题来学习,也希望大家喜欢我这样总结的风格。

对于Python中安装第三方模块,没有多少难点,只是语言发展过程中的历史原因,导致工具很多,让大家搞不清楚到底怎么安装,而我这篇文章就系统的对Python中安装第三方模块进行了总结,一扫之前的疑惑阴霾,后面使用Python的过程中,不再有这方面的疑惑。

果冻想,认真玩技术的地方。

2019年5月8日,于内蒙古呼和浩特。

赞(2) 打赏
未经允许不得转载:果冻想 » Python安装第三方模块总结
关注微信公众号
关注微信公众号和果冻一起分享你的疑惑与心得。
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

玩技术,我们是认真的

联系我们关于果冻

请我喝杯咖啡也是不错的

支付宝扫一扫打赏

微信扫一扫打赏