百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

Python包管理工具pip的安装和使用

itomcoil 2024-12-27 14:05 18 浏览

我们都知道python有海量的第三方库或者说模块,这些库针对不同的应用,发挥不同的作用。我们在实际的项目中,或多或少的都要使用到第三方库,那么如何将他人的库加入到自己的项目中内呢?

打个电话?大哥你好,想用下你那个库,麻烦给邮箱发个源码呗!显然这是个笑话。Python官方的PyPi仓库为我们提供了一个统一的代码托管仓库,所有的第三方库,甚至你自己写的开源模块,都可以发布到这里,让全世界的人分享下载。当然,除了Python官方的仓库,也有一些其他公司提供的仓库,还有一些私有的或针对内部的仓库。

有了统一的管理仓库,那么我们是不是就可以从上面下载源码进行安装了?原则上是的,只不过由于使用源码安装比较繁琐,容易出错,也不够简便,因此出现了wheel文件格式,类似zip或rar文件,并提供专用的安装工具,帮助我们更快更简便的安装。pip就是这个工具!它能帮助我们自动从仓库上下载并安装第三方库,同时将该库所依赖的而本地没有安装的库一并安装。

由于历史的原因,Python有两个著名的包管理工具easy_install和pip。在Python2.7的安装包中,easy_install是默认安装的,而pip需要我们手动安装。随着Python版本的提高,easy_install已经逐渐被淘汰,但是一些比较老的第三方库,在现在仍然只能通过easy_install进行安装。目前,pip已经成为主流的安装工具,自Python2 >=2.7.9或者Python3.4以后默认都安装有pip。

就如同Python有2、2.7、3、3.6一样,pip也有pip、pip2、pip3之分。pip是从属于Python的,对应的pip负责给对应的Python安装第三方模块。我们不要关心pip后面跟的数字,核心的问题是这个pip命令对应的是哪个Python解释器,一个萝卜一个坑,想要为哪个Python解释器安装第三方库,就要调用它名下对应的pip。

那么如何确定哪个pip是哪个Python的呢?

cmd环境中,输入pip -V(大写V):

注意提示中的Python路径和版本!搞清楚了这点,你就不会搞错了pip。

安装pip

那么,如果很不巧,你的Python版本下恰好没有pip这个工具,怎么办呢?解决办法很多!

  1. 使用easy_install安装: 各种进入到easy_install脚本的目录下,然后运行easy_inatall pip
  2. 使用get-pip.py安装: 在下面的url下载get-pip.py脚本 curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py 然后运行:python get-pip.py 这个脚本会同时安装setuptools和wheel工具。
  3. 在linux下使用包管理工具安装pip: 例如,ubuntu下:sudo apt-get install python-pip。Fedora系下:sudo yum install python-pip
  4. 在windows下安装pip: 在C:\python27\scirpts下运行easy_install pip进行安装。

刚安装完毕的pip可能需要先升级一下自身: 在Linux或masOS中:pip install -U pip 在windows中:python -m pip install -U pip

pip的基础使用

在命令行下,输入pip,回车可以看到帮助说明:

1. 普通安装

再次强调,使用pip前请务必确认其所对应的Python解释器必须是你想要的那个!

以安装pillow模块为例。输入pip install pillow,安装过程如下图:

2. 指定版本安装

安装特定版本的package,通过使用==, >=, <=, >, <来指定一个版本号。 pip install 'Markdown<2.0' pip install 'Markdown>2.0,<2.0.3

3. 卸载已安装的库

pip uninstall pillow

4. 列出已经安装的库

pip list

5. 将已经安装的库列表保存到文本文件中

pip freeze > requirements.txt

这个功能非常常用、好用!经常被用作项目环境依赖文件。

6. 根据依赖文件批量安装库

pip install -r requirements.txt

使用上面的txt文件,批量安装第三方库。

7. 使用wheel文件安装

除了使用上面的方式联网进行安装外,还可以将安装包也就是wheel格式的文件,下载到本地,然后使用pip进行安装。比如我在PYPI上提前下载的pillow库的wheel文件,后缀名为whl。

可以使用pip install pillow-4.2xxxxxxx.whl的方式离线进行安装

pip源的选择

很多时候,比如网络不给力,连接超时、防火墙阻挡等等各种原因,我们可能无法从Python官方的PyPi仓库进行pip安装,这时候可以选择国内的第三方源,推荐使用豆瓣源,速度不错。

使用方法:

pip install -i https://pypi.doubanio.com/simple/ --trusted-host pypi.doubanio.com pillow

需要注意的是,除了最后的pillow用你所期望的库名替代外,前面的参数都是固定写法,包括参数顺序。

相关推荐

Excel新函数TEXTSPLIT太强大了,轻松搞定数据拆分!

我是【桃大喵学习记】,欢迎大家关注哟~,每天为你分享职场办公软件使用技巧干货!最近我把WPS软件升级到了版本号:12.1.0.15990的最新版本,最版本已经支持文本拆分函数TEXTSPLIT了,并...

Excel超强数据拆分函数TEXTSPLIT,从入门到精通!

我是【桃大喵学习记】,欢迎大家关注哟~,每天为你分享职场办公软件使用技巧干货!今天跟大家分享的是Excel超强数据拆分函数TEXTSPLIT,带你从入门到精通!TEXTSPLIT函数真是太强大了,轻松...

看完就会用的C++17特性总结(c++11常用新特性)

作者:taoklin,腾讯WXG后台开发一、简单特性1.namespace嵌套C++17使我们可以更加简洁使用命名空间:2.std::variant升级版的C语言Union在C++17之前,通...

plsql字符串分割浅谈(plsql字符集设置)

工作之中遇到的小问题,在此抛出问题,并给出解决方法。一方面是为了给自己留下深刻印象,另一方面给遇到相似问题的同学一个解决思路。如若其中有写的不好或者不对的地方也请不加不吝赐教,集思广益,共同进步。遇到...

javascript如何分割字符串(javascript切割字符串)

javascript如何分割字符串在JavaScript中,您可以使用字符串的`split()`方法来将一个字符串分割成一个数组。`split()`方法接收一个参数,这个参数指定了分割字符串的方式。如...

TextSplit函数的使用方法(入门+进阶+高级共八种用法10个公式)

在Excel和WPS新增的几十个函数中,如果按实用性+功能性排名,textsplit排第二,无函数敢排第一。因为它不仅使用简单,而且解决了以前用超复杂公式才能搞定的难题。今天小编用10个公式,让你彻底...

Python字符串split()方法使用技巧

在Python中,字符串操作可谓是基础且关键的技能,而今天咱们要重点攻克的“堡垒”——split()方法,它能将看似浑然一体的字符串,按照我们的需求进行拆分,极大地便利了数据处理与文本解析工作。基本语...

go语言中字符串常用的系统函数(golang 字符串)

最近由于工作比较忙,视频有段时间没有更新了,在这里跟大家说声抱歉了,我尽快抽些时间整理下视频今天就发一篇关于go语言的基础知识吧!我这我工作中用到的一些常用函数,汇总出来分享给大家,希望对...

无规律文本拆分,这些函数你得会(没有分隔符没规律数据拆分)

今天文章来源于表格学员训练营群内答疑,混合文本拆分。其实拆分不难,只要规则明确就好办。就怕规则不清晰,或者规则太多。那真是,Oh,mygod.如上图所示进行拆分,文字表达实在是有点难,所以小熊变身灵...

Python之文本解析:字符串格式化的逆操作?

引言前面的文章中,提到了关于Python中字符串中的相关操作,更多地涉及到了字符串的格式化,有些地方也称为字符串插值操作,本质上,就是把多个字符串拼接在一起,以固定的格式呈现。关于字符串的操作,其实还...

忘记【分列】吧,TEXTSPLIT拆分文本好用100倍

函数TEXTSPLIT的作用是:按分隔符将字符串拆分为行或列。仅ExcelM365版本可用。基本应用将A2单元格内容按逗号拆分。=TEXTSPLIT(A2,",")第二参数设置为逗号...

Excel365版本新函数TEXTSPLIT,专攻文本拆分

Excel中字符串的处理,拆分和合并是比较常见的需求。合并,当前最好用的函数非TEXTJOIN不可。拆分,Office365于2022年3月更新了一个专业函数:TEXTSPLIT语法参数:【...

站长在线Python精讲使用正则表达式的split()方法分割字符串详解

欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是《在Python中使用正则表达式的split()方法分割字符串详解》。使用正则表达式分割字符串在Python中使用正则表达式的split(...

Java中字符串分割的方法(java字符串切割方法)

技术背景在Java编程中,经常需要对字符串进行分割操作,例如将一个包含多个信息的字符串按照特定的分隔符拆分成多个子字符串。常见的应用场景包括解析CSV文件、处理网络请求参数等。实现步骤1.使用Str...

因为一个函数strtok踩坑,我被老工程师无情嘲笑了

在用C/C++实现字符串切割中,strtok函数经常用到,其主要作用是按照给定的字符集分隔字符串,并返回各子字符串。但是实际上,可不止有strtok(),还有strtok、strtok_s、strto...