Python自动安装第三方库的小技巧(pip使用详解)
作者:可以叫我才哥 发布时间:2021-07-15 19:32:48
大家好,我是才哥。
最近周末也加班了,害…
有刚接触python的粉丝同学在运行此前《》的完整代码遇到以下问题,然后…
好吧,今天我们就专门介绍一下Python安装第三方库的一些小技巧,其中还包含自动安装的方法哈。
1. pip在线安装
在cmd命令行模式下,通过pip install 第三方库名称
的形式,直接进行第三方库的安装。
我们以安装plotly
为例,安装表现如下:
pip install plotly
如果需要安装的第三方库已经存在,我们执行安装命令的时候会提示其存在且展示库安装的位置,其表现如下:
如果你想卸载第三方库,可以通过pip uninstall 第三方库名称
的形式,直接进行第三方库的卸载。
当然,大家在实际安装的过程中可能还会遇到很多其他问题,大致有如下两种情况:
安装超时
(因为在线安装,会请求第三方库所在的源,默认的源是在海外的,我们请求的时候可能速度过慢导致超时之类的)版本号不匹配
(由于我们的python环境可能存在其他一些库,而库与库之间可能存在依赖关系,如果安装的库版本太新或者太旧都有可能与现有的库存在不匹配而无法正常安装)
对于安装超时的情况,如果继续采用pip在线安装的模式,我们可以在安装的时候指定国内源,其指令方式如下:
pip install plotly -i https://pypi.tuna.tsinghua.edu.cn/simple
国内源
可选项(第3部分我们将介绍如何一劳永逸)
阿里云镜像:http://mirrors.aliyun.com/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
除了在线安装指定版本号的第三方库之外,我们还可以通过下载指定版本号的第三方库whl文件
,然后pip离线安装,具体我们在第2部分介绍。
2. pip离线安装
有时候,我们直接采用pip在线安装的时候不太能安装到需要的第三方库版本,又或者我们没有联网环境进行pip在线安装。这个时候我们就可以先下载第三方,然后再用pip进行离线安装。
比如,我们还是以plotly
为例,现在某网站下载其文件,然后再本地离线安装。
安装指令如下:
pip install D:\python\自动安装库\plotly-4.14.3-py3-none-any.whl
推荐下载第三方库文件的网站:
那个地方:https://www.lfd.uci.edu/~gohlke/pythonlibs/
Pypi :https://pypi.org/
3. 查看与升级库
我们学会了安装库和卸载库,那么怎么查看我们的环境下有哪些库以及如果这些库更新后本地如何同步更新呢?
关于查看:
通过pip list
可以查看已经安装的库。
通过pip show 库名称
可以查看指定的库。
关于升级:
通过pip list -o
可以查看可升级的库。
通过 pip install --upgrade 库名称
可以升级库。
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
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
执行以上代码,如果有库未安装则运行结果如下:
6. 其他
除了上述这种自动安装第三方库的方式,我们还可以通过以下方式处理:
import os
libs = ["requests","beautifulsoup4","jieba","matplotlib","wordcloud","pandas","pillow"]
for lib in libs:
os.system("pip install " + lib)
一些报错提示:
报错提示 某某库需要某某库的什么版本号等等
报错提示 Consider using the --user option or check the permissions.
这种情况下,不要惊慌,添加 --user参数即可,参考案例:
pip install --user 第三方库名称
来源:https://blog.csdn.net/dxawdc/article/details/116903304


猜你喜欢
- 数据分析师肯定每天都被各种各样的数据数据报表搞得焦头烂额,老板的,运营的、产品的等等。而且大部分报表都是重复性的工作,这篇文章就是帮助大家如
- 本文实例讲述了Python实现获取系统临时目录及临时文件的方法。分享给大家供大家参考,具体如下:在开发应用程序的过程中,会有一些临时的信息,
- 一、状态模式允许一个对象在其内部状态改变时改变它的行为,对象看起来似乎修改了它的类1.基本实现//下面以一个开灯程序演示状态模式//灯共用三
- docker-compose.yal文件中: redis: image: redis container_name:
- 程序开始一、基本使用1、创建一个游戏窗口出来代码如下:# coding:utf8import pygameimport sys# 初始化py
- 测试把txt文件导入至mysql数据库中: table: txt文件:D:/data.txt (txt文件下载)txt中使用 '\N
- 01. 装饰器语法糖如果你接触 Python 有一段时间了的话,想必你对 @ 符号一定不陌生了,没错 @ 符号就是装饰器的语法糖。它放在一个
- 一、控制用户存取 1、创建修改用户Creating Users Create/alter user new_user identified
- 本文实例讲述了Python3.5装饰器原理及应用。分享给大家供大家参考,具体如下:1、装饰器:(1)本质:装饰器的本质是函数,其基本语法都是
- 1. select模块针对select,要先理解其他几个概念:文件描述符:文件描述符在形式上是一个非负整数。实际上,它是一个索引
- SQL Server 2016真的让人眼前一亮。几天前微软就提供了RCO(候选发布版)版本的下载。我已经围观了一圈RCO版本,其中一个最拽的
- 问题1:解决没有NVSMI文件夹去英伟达官网下载显卡驱动,对显卡进行升级即可。问题2:nvidia-smi‘ 不是内部或
- 本文实例讲述了python sqlite的Row对象操作。分享给大家供大家参考,具体如下:一 代码import sqlite3conn=sq
- 背景如果需要访问远程服务器的Mysql数据库,但是该Mysql数据库为了安全期间,安全措施设置为只允许本地连接(也就是你需要登录到该台服务器
- 在我们完成一个Python项目或一个程序时,希望将Python的py文件打包成在Windows系统下直接可以运行的exe程序。在浏览网上的资
- 遇到两次mysql密码忘记了?最开始干了最傻的事,卸载了重装。现在有一个不用卸载也能把密码设置回来的办法。知识来源于网络,我这里稍加整理,遇
- js * 联动的实现代码如下所示:<!DOCTYPE html><html lang="en">
- python urllib urlopen()对象方法/代理的补充说明urllib 是 python 自带的一个抓取网页信息一个接口,他最主
- 在上两篇文章(MySQL备份与恢复之冷备,MySQL备份与恢复之真
- 1、日期大小的比较,传到xml中的日期格式要符合'yyyy-MM-dd',这样才能走索引,如:'yyyy'改