热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

原标题:Python自动安装第三方库的小技巧,让你的代码拿来就用(pip详解)大家好,我是才哥。最近周末也加班了,害…有刚接触python的粉丝同学在运

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

大家好,我是才哥。

最近周末也加班了,害…

有刚接触python的粉丝同学在运行此前《》的完整代码遇到以下问题,然后…

图1:粉丝遇到的报错

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

目录:


文章目录



    • 1. pip在线安装

    • 2. pip离线安装

    • 3. 查看与升级库

    • 4. 设置国内源

    • 5. pip.main自动安装

    • 6. 其他




1. pip在线安装

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

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

pip install plotly

图2:安装第三方库

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

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

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

图4:卸载第三方库

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



  • 安装超时(因为在线安装,会请求第三方库所在的源,默认的源是在海外的,我们请求的时候可能速度过慢导致超时之类的)


  • 版本号不匹配(由于我们的python环境可能www.yii666.com存在其他一些库,而库与库之间可能存在依赖关系,如果安装的库版本太新或者太旧都有可能与现有的库存在不匹配而无法正常安装)

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

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

国内源可选项(第3部分我们将介绍如何一劳永文章来源站点https://www.yii666.com/逸)

阿里云镜像:http://mirrors.aliyun.co文章来源地址41760.htmlm/pypi/simple/

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

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

中科大镜像:https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple/

对于版本号不匹配的情况,如果继续采用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:离线安装第三方库

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

那个地方:https://www.lfd.uci.edu/~gohlke/pythonlibs/

Pypi :https://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文章来源地址41760.html 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第三方库的安装有所帮助。

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


推荐阅读
  • 本文介绍了 Go 语言中的高性能、可扩展、轻量级 Web 框架 Echo。Echo 框架简单易用,仅需几行代码即可启动一个高性能 HTTP 服务。 ... [详细]
  • Cookie学习小结
    Cookie学习小结 ... [详细]
  • python模块之正则
    re模块可以读懂你写的正则表达式根据你写的表达式去执行任务用re去操作正则正则表达式使用一些规则来检测一些字符串是否符合个人要求,从一段字符串中找到符合要求的内容。在 ... [详细]
  • 本文将介绍如何在混合开发(Hybrid)应用中实现Native与HTML5的交互,包括基本概念、学习目标以及具体的实现步骤。 ... [详细]
  • HTTP(HyperTextTransferProtocol)是超文本传输协议的缩写,它用于传送www方式的数据。HTTP协议采用了请求响应模型。客服端向服务器发送一 ... [详细]
  • 为什么多数程序员难以成为架构师?
    探讨80%的程序员为何难以晋升为架构师,涉及技术深度、经验积累和综合能力等方面。本文将详细解析Tomcat的配置和服务组件,帮助读者理解其内部机制。 ... [详细]
  • 用阿里云的免费 SSL 证书让网站从 HTTP 换成 HTTPS
    HTTP协议是不加密传输数据的,也就是用户跟你的网站之间传递数据有可能在途中被截获,破解传递的真实内容,所以使用不加密的HTTP的网站是不 ... [详细]
  • 网站访问全流程解析
    本文详细介绍了从用户在浏览器中输入一个域名(如www.yy.com)到页面完全展示的整个过程,包括DNS解析、TCP连接、请求响应等多个步骤。 ... [详细]
  • 本文是Java并发编程系列的开篇之作,将详细解析Java 1.5及以上版本中提供的并发工具。文章假设读者已经具备同步和易失性关键字的基本知识,重点介绍信号量机制的内部工作原理及其在实际开发中的应用。 ... [详细]
  • DVWA学习笔记系列:深入理解CSRF攻击机制
    DVWA学习笔记系列:深入理解CSRF攻击机制 ... [详细]
  • 本文详细探讨了使用Python3编写爬虫时如何应对网站的反爬虫机制,通过实例讲解了如何模拟浏览器访问,帮助读者更好地理解和应用相关技术。 ... [详细]
  • 本文将深入探讨 iOS 中的 Grand Central Dispatch (GCD),并介绍如何利用 GCD 进行高效多线程编程。如果你对线程的基本概念还不熟悉,建议先阅读相关基础资料。 ... [详细]
  • 深入解析Django CBV模型的源码运行机制
    本文详细探讨了Django CBV(Class-Based Views)模型的源码运行流程,通过具体的示例代码和详细的解释,帮助读者更好地理解和应用这一强大的功能。 ... [详细]
  • window下的python安装插件,Go语言社区,Golang程序员人脉社 ... [详细]
  • 本文介绍了如何利用HTTP隧道技术在受限网络环境中绕过IDS和防火墙等安全设备,实现RDP端口的暴力破解攻击。文章详细描述了部署过程、攻击实施及流量分析,旨在提升网络安全意识。 ... [详细]
author-avatar
karenwang05
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有