热门标签 | 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详解)


推荐阅读
  • CEPH LIO iSCSI Gateway及其使用参考文档
    本文介绍了CEPH LIO iSCSI Gateway以及使用该网关的参考文档,包括Ceph Block Device、CEPH ISCSI GATEWAY、USING AN ISCSI GATEWAY等。同时提供了多个参考链接,详细介绍了CEPH LIO iSCSI Gateway的配置和使用方法。 ... [详细]
  • 2018年人工智能大数据的爆发,学Java还是Python?
    本文介绍了2018年人工智能大数据的爆发以及学习Java和Python的相关知识。在人工智能和大数据时代,Java和Python这两门编程语言都很优秀且火爆。选择学习哪门语言要根据个人兴趣爱好来决定。Python是一门拥有简洁语法的高级编程语言,容易上手。其特色之一是强制使用空白符作为语句缩进,使得新手可以快速上手。目前,Python在人工智能领域有着广泛的应用。如果对Java、Python或大数据感兴趣,欢迎加入qq群458345782。 ... [详细]
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • 本文介绍了在Windows环境下如何配置php+apache环境,包括下载php7和apache2.4、安装vc2015运行时环境、启动php7和apache2.4等步骤。希望对需要搭建php7环境的读者有一定的参考价值。摘要长度为169字。 ... [详细]
  • java.lang.Class.getDeclaredMethod()方法java.lang.Class.getDeclaredMethod()方法用法实例教程-方法返回一个Met ... [详细]
  • C++程序员视角下的Rust语言
    自上世纪80年代初问世以来,C就是一门非常重要的系统级编程语言。到目前为止,仍然在很多注重性能、实时性、偏硬件等领域发挥着重要的作用。C和C一样&#x ... [详细]
  • 以数据驱动品牌,为出海强势护航
                    原创
    原标题:以数 ... [详细]
  • 原标题:Python中numpy.power()函数介绍Python中numpy.power()函数介绍power(x,y)函数, ... [详细]
  • rust编程这篇文章是关于我通过解决Twitch上尚未解决的所有CtCI问题来学习Rust的经验。英国科学博物馆集团AdaLovelace的肖像Rust徽标,由Moz ... [详细]
  • 智商狂飙,问了ChatGPT几个数据库问题后,我的眼镜掉了
    原标题:智商狂飙,问了ChatGPT几个数据库问题后,我的眼镜掉了最近,ChatGPT火爆全网,介绍其产品、公司、作者、技术和应用等方面信息,占据着整个互联网,似乎不谈GPT好像 ... [详细]
  • 直击热门考点——结构体内存对齐
    原标题:直击热门考点——结构体内存对齐文章目录前言一、引例 ... [详细]
  • 20210921c++ 继承,虚继承(内存结构)
    原标题:2021-09-21c++继承,虚继承(内存结构)普通的公有继承 ... [详细]
  • 本文讨论了在Windows 8上安装gvim中插件时出现的错误加载问题。作者将EasyMotion插件放在了正确的位置,但加载时却出现了错误。作者提供了下载链接和之前放置插件的位置,并列出了出现的错误信息。 ... [详细]
  • 本文讨论了如何优化解决hdu 1003 java题目的动态规划方法,通过分析加法规则和最大和的性质,提出了一种优化的思路。具体方法是,当从1加到n为负时,即sum(1,n)sum(n,s),可以继续加法计算。同时,还考虑了两种特殊情况:都是负数的情况和有0的情况。最后,通过使用Scanner类来获取输入数据。 ... [详细]
  • 本文介绍了在Linux下安装Perl的步骤,并提供了一个简单的Perl程序示例。同时,还展示了运行该程序的结果。 ... [详细]
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社区 版权所有