Python自动安装第三方库的小技巧,让你的代码拿来就用(pip详解)

创作者中心链接

大家好,我是才哥。

最近周末也加班了,害......

有刚接触python的粉丝同学在运行此前《贝壳二手房数据采集》的完整代码遇到以下问题,然后...

图1:粉丝遇到的报错

好吧,今天我们就专门介绍一下Python安装第三方库的一些小技巧,其中还包含自动安装的方法哈。

1. pip在线安装

在cmd命令行模式下,通过pip install 第三方库名称的形式,直接进行第三方库的安装。

我们以安装plotly为例,安装表现如下:

pip install plotly
复制代码

图2:安装第三方库

如果需要安装的第三方库已经存在,我们执行安装命令的时候会提示其存在且展示库安装的位置,其表现如下:

图3:第三方库存在的情况下安装表现

如果你想卸载第三方库,可以通过pip uninstall 第三方库名称的形式,直接进行第三方库的卸载。

图4:卸载第三方库

当然,大家在实际安装的过程中可能还会遇到很多其他问题,大致有如下两种情况:

  • 安装超时(因为在线安装,会请求第三方库所在的源,默认的源是在海外的,我们请求的时候可能速度过慢导致超时之类的)
  • 版本号不匹配(由于我们的python环境可能存在其他一些库,而库与库之间可能存在依赖关系,如果安装的库版本太新或者太旧都有可能与现有的库存在不匹配而无法正常安装)

对于安装超时的情况,如果继续采用pip在线安装的模式,我们可以在安装的时候指定国内源,其指令方式如下:

pip install plotly -i https://pypi.tuna.tsinghua.edu.cn/simple
复制代码

国内源可选项(第3部分我们将介绍如何一劳永逸)

阿里云镜像:mirrors.aliyun.com/pypi/simple…

清华大学镜像:pypi.tuna.tsinghua.edu.cn/simple/

豆瓣镜像:pypi.doubanio.com/simple/

中科大镜像:mirrors.tuna.tsinghua.edu.cn/pypi/web/si…

对于版本号不匹配的情况,如果继续采用pip在线安装的模式,我们可以在安装的时候指定版本号,其指令方式如下:

pip install plotly==4.9
复制代码

指定版本号有以下几种方式:

  • 不指定的情况下,默认安装最新的
  • == 指定具体版本号
  • <= 指定最高版本号
  • >= 指定最低版本号
  • < 不高于某版本号
  • > 不低于某版本号

对于非指定具体版本号的情况,需要注意命令形式稍有不同:第三方库及版本号关系需要用引号(""),否则会出现报错。

pip install "plotly<4.14"
复制代码

以下为错误示范命令:

pip install plotly<4.14
复制代码

图5:错误示范

除了在线安装指定版本号的第三方库之外,我们还可以通过下载指定版本号的第三方库whl文件,然后pip离线安装,具体我们在第2部分介绍。

2. pip离线安装

有时候,我们直接采用pip在线安装的时候不太能安装到需要的第三方库版本,又或者我们没有联网环境进行pip在线安装。这个时候我们就可以先下载第三方,然后再用pip进行离线安装。

比如,我们还是以plotly为例,现在某网站下载其文件,然后再本地离线安装。

图6:那个地方第三方库文件下载

安装指令如下:

pip install D:\python\自动安装库\plotly-4.14.3-py3-none-any.whl
复制代码

图7:离线安装第三方库

推荐下载第三方库文件的网站:

那个地方:www.lfd.uci.edu/~gohlke/pyt…

Pypi :pypi.org/

图8:Pypi官方第三方库文件下载

3. 查看与升级库

我们学会了安装库和卸载库,那么怎么查看我们的环境下有哪些库以及如果这些库更新后本地如何同步更新呢?

关于查看

通过pip list 可以查看已经安装的库。

图9:查看已经安装的库

通过pip show 库名称 可以查看指定的库。

图10:查看指定的库

关于升级

通过pip list -o可以查看可升级的库。

图11:查看可以升级的库

通过 pip install --upgrade 库名称可以升级库。

图12:升级指定的库

4. 设置国内源

我们在第1部分pip在线安装中介绍过 指定国内源的命令形式,除此之外,我们也可以创建一个配置文件,将默认的源指定为我们采用的国内源,从而一劳永逸的解决而不需要每次都加上国内源地址。

方法很简单

在当前用户目录下(C:\Users\xx\pip,xx 表示当前使用的用户,比如gongdc)创建一个 pip.ini文件,文件内容如下:

[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
[install]
trusted-host = https://pypi.tuna.tsinghua.edu.cn
复制代码

图13:设置国内源配置文件

5. pip.main自动安装

以上我们熟悉了python在安装、卸载、升级以及设置国内源等。一般来说,我们编写的python代码都会依赖很多现有的第三方库,这也是学习python相对简单的原因。

大多数情况下,我们需要依赖的库并不直接存在于我们当前的环境,需要先进行安装之后才能正常运行我们的代码。所以,每次我们拿到别人编写好的代码的时候,直接运行的时候可能就会出现报错。

其实,我们在引用库的时候,只需要做以下操作,就可以不需要手动进行依赖库的安装了。

核心:使用pip.main()方法进行依赖库的安装(这里穷举了需要用到的库)

# 如果需要引用的库未安装,则自动安装 
try:
    import requests
    import pandas as pd
    from bs4 import BeautifulSoup
    import jieba
    import jieba.analyse
    import matplotlib.pyplot as plt
    from wordcloud import WordCloud,STOPWORDS
    import numpy as np
    from PIL import Image
# 使用pip.main()方法进行依赖库的安装(这里穷举了需要用到的库)   
except  ImportError:
    import pip
    pip.main(["install", "--user", "requests","beautifulsoup4","jieba","matplotlib","wordcloud","pandas","pillow"])
    import requests
    import pandas as pd
    from bs4 import BeautifulSoup
    import jieba
    import jieba.analyse
    import matplotlib.pyplot as plt
    from wordcloud import WordCloud,STOPWORDS
    import numpy as np    
    from PIL import Image 
复制代码

执行以上代码,如果有库未安装则运行结果如下:

图13:自动下载第三方库

6. 其他

除了上述这种自动安装第三方库的方式,我们还可以通过以下方式处理:

import os

libs = ["requests","beautifulsoup4","jieba","matplotlib","wordcloud","pandas","pillow"]

for lib in libs:
    os.system("pip install " + lib)
复制代码

图14:os下自动安装库

一些报错提示

报错提示 某某库需要某某库的什么版本号等等

问题1:依赖库匹配

报错提示 Consider using the --user option or check the permissions.

问题2:--user

这种情况下,不要惊慌,添加 --user参数即可,参考案例:

pip install --user 第三方库名称
复制代码

以上就是本次全部内容,希望能对大家了解python第三方库的安装有所帮助。

猜你喜欢

转载自juejin.im/post/6962877908230766600