您现在的位置是:首页 > 学无止境 > 其他网站首页其他 pip安装和使用入门指南(图文)

pip安装和使用入门指南(图文)

  • 莫愁
  • 其他
  • 2019-07-16
简介pip新手要看的入门教程,包含pip安装和pip 各个参数使用的具体用法, 熟练使用pip可以更方便的管Python第三方库。
字数 2101.5

pip新手要看的入门教程,包含pip安装和pip 各个参数使用的具体用法, 熟练使用pip可以更方便的管Python第三方库。

pip是什么

不免俗套的要先介绍一下,pip是Python的第三方包(库)管理器,可以很方便的安装,卸载,升级,查看Python第三方库。Python有内置的标准库,在你安装完Python后这些标准库都已默认安装好了,但是还有很多有用的Pyhon库不是内置安装的,我们叫这些库为第三方库,要通过pip来安装和管理第三方库,还会管理库之间的依赖(dependency)关系。

举例:

Python的默认网络请求库是urllib,在Python安装的时候就已经是自带的,我们叫着这种为内置库,或标准库。但是有更好用的网络请求库:requests,它需要额外安装,比如使用

pip install requests

命令来安装,这种需要额外安装的库就叫做第三方库。pip就是来安装和管理第三方库的。

下面说的软件包都指代第三方库。

题外话:

不是所有的第三方Python包都能通过pip来安装,只能是发布在pypi.org上面的才能通过pip安装。

pip要安装的包都在pypi上

 

pypi又是什么?

pypi是一个仓库,上面存放了大量的Python第三方软件包,是由Python官方社区维护。只要遵守pypi的规则,所有开发者都可以把自己开发的Python软件包发布在pypi上,供其他人下载使用。

我们通过:

pip install requests

命令安装requests库时,其实就是pip从pypi上面下载下来进行安装的。

刚才说了不是所有的Python第三方库都能用pip安装,只有发布在pypi上的才能用pip。 还有很多开发者只把自己的Python软件发布在github上的(有的在pypi和github上都会发布),这种就需要你在github上把源代码下载下来进行安装。

闲扯了下pip和pypi的关系,我们继续说pip的事情。

从Pyhon3.4以后pip都默认跟着Python一块安装的。你可以使用如下命令来检查pip是否安装和pip的版本号:

pip --version

查看pip的安装版本

因为我安装了多个Python版本,所以使用的pip3命令。

上面会显示你的pip版本号,19.0.3是最新的版本。

pip有哪些命令可以使用,可以使用

pip help

命令来查看:

pip有哪些命令参数

如上图有:

pip install 安装软件包

pip download 只下载软件包不安装

pip uninstall 卸载软件包

pip list 显示已安装了哪些软件包

pip search 在pypi上模糊搜索软件包等等…

下面就介绍几个常用的命令

用pip install如何安装第三方包

上面已经举例子了,如果你知道具体软件包的名字,就直接使用

pip install 软件包名

进行安装,这样会安装该软件的最新版本。同时pip会计算该软件的依赖包,如果没有冲突,就会一并把该软件包的依赖包一起安装了。

什么是依赖?就是一个软件要依赖另一个软件的功能才能运行,必须要把相关的依赖包都安装了,才能愉快的使用。

我们拿安装requests库来举例。

pip的安装示例

安装requests时,会向pypi上去查找这个包,然后计算和安装依赖,可以看出requests还依赖chardet、idna、urllib3这些包,所以会一并安装。

如果要安装指定版本的软件包呢?

pip install requests==2.21.0

就在软件包名后面加一个具体的版本号,比如上面就是安装requests的2.21.0版本

pip镜像源安装软件包

在用pip install安装时,是直接下载pypi上的软件,各种原因我们访问国外网站有时比较慢,可能在安装时会很慢,甚至提示超时,安装失败。

所以国内有公司和大学就镜像了pypi,把上面的软件包都镜像到国内,通过他们的镜像源安装就会很快。

比较典型的镜像源有:

豆瓣:http://pypi.douban.com/simple/

阿里云:http://mirrors.aliyun.com/pypi/simple/

清华:https://pypi.tuna.tsinghua.edu.cn/simple

比如使用清华大学镜像源安装就是:

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple 软件包名

但是镜像源没法实时做到更新pypi上的软件包,所以有些软件包的版本可能不是最新的。

pip升级软件包

上面提到了软件包不是最新的,就说下用pip怎么升级软件包。

pip install --upgrade 软件包名

为什么要升级软件包呢?通常最新版本的软件在性能和功能上都更完善,还可能会解决一些老版本的bug问题。

升级软件有什么坏处呢?新版本软件接口可能会发生变化,或者包依赖关系变动太大,导致不兼容老版本,会导致你的程序运行不起来。

搜索软件包

上面说了用pip install安装时要写完整的软件包名,记住全名这是比较难的,而且还有李鬼的存在。另外有时只知道功能,不知道软件名叫什么,就需要使用搜索功能去pypi搜索一下。

pip search 关键字

pip 搜索软件包

比如我需要一个有压缩功能的第三方库,可以使用 compress 这个关键字去检索。左边是第三方库名,括号里是软件版本,后边是简单的功能描述。

当然,现在要查找第三方库一般都是借助搜索引擎,搜索引擎的检索更智能,更相关,或者直接去pypi.org网站上找。

卸载软件包

使用如下卸载命令:

pip uninstall 软件包名

就可以卸载软件包,卸载软件包之前最好先用show命令看一下该软件包的被依赖关系,如果其它包依赖你要卸载的软件包,那么你卸载后,其它软件包就没法运行了。

pip show 软件包名

使用pip show命令可以查看该包的一些信息。比如查看requests库的信息:

pip show requests

pip显示软件包信息

可以查看该软件包的作者,软件安装路径,依赖的库和被依赖的库等息息。

要注意看Required-by那一项,如果冒号后面显示有其他的库,那你卸载requests库就要小心,因为它被其他库依赖了,卸载的话其他库就会出问题。

显示本地软件包

如果我们卸载软件包,忘记该软件包名的全称了呢,可以使用list命令:

pip list

pip list显示本地安装了哪些包

list命令显示本地所有安装的第三方库和相应的版本号,这时就可以查看完整的软件包名是怎么写的。

导出本地所有软件包名和版本号

如果你要在另一台电脑上部署一个相同的Python软件包环境,尤其是你在本地开发测试好后,要提交到生产环境去运行,要保证软件包的版本是一致的,上面讲了软件包版本不一致可能会导致程序出错。

这时就可以使用freeze命令导出本地的软件包名和版本号。

pip freeze > requirements.txt

上面命令会把软件包名和版本号导到requirements.txt文件里,如下图:

pip freeze命令导出软件包名和版本号到本地文件

然后把requirements.txt文件拷贝到另一台机器上,运行如下命令:

pip install -r requirements.txt

就会在另一台机器上完全安装跟本地一模一样的软件包环境。这比较方便开发和部署,以免本地的软件包和生产环境的不一致。

上面讲了卸载指定的软件包命令是:

pip uninstall 软件包名

那么要一键卸载全部的第三方软件包呢?也是可以使用requirements.txt文件:

pip uninstall -r requirements.txt

这样可以一键卸载所有的第三方软件包,因为requirements.txt文件里包含了所有的第三方软件包。

上面也讲了升级指定软件包的命令是:

pip install upgrade 软件包名

那么要一键升级所有的第三方软件包呢?

pip install --upgrade -r requirements.txt

是的,也是使用requirements.txt文件来实现,但是要把requirements.txt文件里的==号替换成>=符号

利用requirements文件一键升级pip本地包

意思是安装大于等于当前版本的软件包。

升级pip

pip自身有时也需要升级,你在使用pip install安装的时候可能遇到过如下提示:

You are using pip version 18.1, however version 19.0.1 is available

意思是你现在用的版本是18.1,提示你要升级到19.0.1最新的pip版本上,如何升级pip呢?

python -m pip install --upgrade pip

上述命令会把pip升级到最新版本,要注意的是要保证整个升级动作完成,不要中途断网或中断,不但会导致安装失败,还会导致你的pip也无法使用了。

pip install入门指南说完了,当然python的包管理工具也不只有pip。

还有Conda、Pipenv、Poetry等,哪个用得熟练就用那个。

另外,Conda、Pipenv的好处是不只是包管理工具,还能管理虚拟路径。就是你电脑如果安装了多个版本的Python,比如同时有2.7/3.4/3.7的Python,它能很好管理每个Python版本的软件包和路径,不会发生冲突。


转载: 感谢您对莫愁个人博客网站平台的认可,非常欢迎各位朋友分享到个人站长或者朋友圈,但转载请说明文章出处“来源莫愁个人博客 https://www.mochoublog.com/study/276.html”。

文章评论

    • 评论
    人参与,条评论

技术在线

服务时间

周一至周日 12:00-22:00

关闭下雪
关闭背景特效