众所周知,pip可以对python的第三方库进行安装、更新、卸载等操作,十分方便。
pip的全称:package installer for python,也就是Python包管理工具。
可能有些人用了很久pip,但还不清楚包管理工具是个啥。
我们先从Python这门语言说起,Python之所以受欢迎不光是因为它简单易学,更重要的是它有成千上万的宝藏库。
这些库相当于是已经集成好的工具,只要安装就能在Python里使用。它们可以处理各式各样的问题,无需你再造轮子,而且随着社区的不断更新维护,有些库越来越强大,几乎能媲美企业级应用。
那么这些工具库怎么下载安装呢?它们被放在一个统一的“仓库”里,名叫PyPi(Python Package Index),所有的库安装都是从这里调度。
有了仓库之后,还需要有管理员,pip就是这样一个角色。pip把库从PyPi取出来,然后安装到Python里,还可以管理安装好的库,比如更新、查看、搜索、卸载等等。
总的来说,pip的Python第三方库的大管家,搞懂它,会让你省很多事。
下面总结了30个pip使用过程中的常识和技巧,供大家参考。
「注:因为pip是一个命令行程序,所以pip一般都在命令行中执行各种操作。」
从Python 3.4开始,pip已经内置在Python中,所以无需再次安装。
如果你的Python版本没有pip,那可以使用下面两种方法安装。
(1) 命令行中输入easy_install pip
,非常快捷
(2) 在下面网址中下载pip安装文件,然后解压到python scripts目录中,执行python setup.py install
安装即可
下载网址:https://pypi.org/project/pip/#files
下载文件:
pip --version
如果pip的版本太低,可以升级当前版本pip install --upgrade pip
想了解如何使用pip,以及pip有哪些功能,执行下面语句可以获取详细教程:pip help
使用pip安装第三方库,执行下面语句pip install package_name
指定package版本:pip install package_name==1.1.2
比如说,我要安装3.4.1版本的matplotlibpip install matplotlib==3.4.1
如果一个项目需要安装很多库,那可以批量安装:pip install -r e:\\requirements.txt
requirements.txt
文件内容格式如下:
这种方法适合离线安装,wheel文件是库的源文件,可以下载后放到本地安装。
步骤如下:
(1) 在下面网站里找相应库的.whl文件
https://www.lfd.uci.edu/~gohlke/pythonlibs/
(2) 下载.whl文件,注意对应的版本
(3) 在.whl所在文件夹内,按Shift键+鼠标右键,打开CMD窗口或者PowerShell
(4) 输入命令:pip install matplotlib‑3.4.1‑cp39‑cp39‑win_amd64.whl
即可完成安装
安装好的库可以再卸载:pip uninstall package_name
对当前库进行版本升级:pip install --upgrade package_name
pip show -f package_name
列出所有已安装的第三方库和对应版本pip list
把已经安装的库信息保存到到本地txt文件中:pip freeze > requirements.txt
目前已经安装的库中,看哪些需要版本升级pip list -o
验证已安装的库是否有兼容依赖问题pip check package-name
将库下载到本地指定文件,保存为whl格式pip download package_name -d "要保存的文件路径"
很多人抱怨pip安装库有些时候太慢了,那是pip源的问题。
前面说过pip从PyPi中下载库文件,但由于PyPi服务器在国外,访问起来很慢。
但国内提供了很多镜像源,用来替代PyPi,像清华源、豆瓣源、阿里云源等。
这些镜像源备份了PyPi里的数据,由于服务器在国内,速度会快很多。
但镜像源数据有滞后性,比如说清华源的pypi 镜像每 5 分钟同步一次。
使用镜像源有两种方式,以清华源为例:
(1) 临时使用
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple some-package matplotlib
除了matplotlib是要安装的库名外,其他都是固定格式
(2) 设为默认
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
设为默认后,以后安装库都是从清华源下载,而且无需再加镜像源网址
附主流镜像源地址
清华:https://pypi.tuna.tsinghua.edu.cn/simple
阿里云:http://mirrors.aliyun.com/pypi/simple/
中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/
华中理工大学:http://pypi.hustunique.com/
山东理工大学:http://pypi.sdutlinux.org/
豆瓣:http://pypi.douban.com/simple/
推荐阅读:
入门: 最全的零基础学Python的问题 | 零基础学了8个月的Python | 实战项目 |学Python就是这条捷径
干货:爬取豆瓣短评,电影《后来的我们》 | 38年NBA最佳球员分析 | 从万众期待到口碑扑街!唐探3令人失望 | 笑看新倚天屠龙记 | 灯谜答题王 |用Python做个海量小姐姐素描图 |碟中谍这么火,我用机器学习做个迷你推荐系统电影
趣味:弹球游戏 | 九宫格 | 漂亮的花 | 两百行Python《天天酷跑》游戏!
AI: 会做诗的机器人 | 给图片上色 | 预测收入 | 碟中谍这么火,我用机器学习做个迷你推荐系统电影
小工具: Pdf转Word,轻松搞定表格和水印! | 一键把html网页保存为pdf!| 再见PDF提取收费! | 用90行代码打造最强PDF转换器,word、PPT、excel、markdown、html一键转换 | 制作一款钉钉低价机票提示器! |60行代码做了一个语音壁纸切换器天天看小姐姐!|
年度爆款文案
点阅读原文,看200个Python案例!
最近因为公司业务需求,需要用flutter来做后续的开发,刚上手dart就出问题了……具体问题是,在运行的时候报:这个是需要在:中进行相关的配置去掉这个勾选即可。...
这一节介绍的是评论帖子,还有发布话题功能的实现。首先说说评论帖子的功能。先看一下效果图:从上一节可知,进行评论跳转的时候需要带来一些关于帖子的数据。这一个页面对于布局来说,也是十分的重要。评论栏固定在底部,评论之后实时刷新,删除自己的评论等。首先是布局的wxml<view class='top'> <view class='top1'>...
公租房是由国家提供政策支持、限定建设标准和租金水平,面向符合规定条件的城镇中等偏下收入住房困难家庭、新进就业无房职工和在城镇稳定就业的外来务工人员出租的保障性住房。随着人工智能技术、信息技术以及物联网的发展,智慧公租房各种应用和功能让公租房管理效率更好,服务更贴心。智慧公租房解决方案是建设智慧公租房的根本,那么智慧公租房解决方案你又知道多少呢?下面我们就来看看智慧公租房究竟有哪些内容?公租房门禁系统小区出入口是安全管理的首要目标。小区出入口通过人脸识别抓拍机,后端进行动态比对,与公安或住建局联动,
整理 | AI科技大本营编辑部出品| AI科技大本营(ID:rgznai100)10 月 31 日,由北京智源人工智能研究院主办的 2019 北京智源大会在国家会议中心开幕,本次大会吸引了国际人工智能领域的顶级专家学者参加,围绕人工智能基础研究现状及面临的机遇和挑战、人工智能技术未来发展的核心方向等话题,回归 AI 技术本身,开展深入研讨,探索人工智能前沿科技发展趋势。会议第一天,在上午场的尖峰...
雷达数字信号处理实际工程中,随着AD采样率越来越高,FPGA不能实时的处理全带宽的数据,一般在FPGA内部采取分相(也就是串并转换)的方式降低处理速度,在雷达信号处理过程中,对信号进行检测常用的方式有多相滤波架构和直接进行FFT进行频域分析,这里不进行展开,本博客主要是通过频域分析介绍一种通过串行FFT核恢复出最原始的N点的FFT结果,比如我们需要进行4096点FFT运算时,我们可以通过8个512点的串行FFT运算恢复出最终的4096点FFT结果,当然也可以通过将数据缓存下来然后分别进行4096点FFT运算
转载自:老二牛车教育 » 【axure教程】下拉框选择动态显示结果说实话,这个案例我是在UCD大社区看到的,不过都是英文,愣是硬着头皮学习的,幸好英文底子+google。1、案例效果图这个例子的效果是,用户切换左边的下拉框选项,右边的提示文字会随之变化。当选中的是图书时,文本框中的文字是“请输入图书名称或作者”;当选中音乐时,文本框中的文字是“请输入音乐名称或歌手”:R
3594: [Scoi2014]方伯伯的玉米田Time Limit: 60 SecMemory Limit: 128 MBSubmit: 1971Solved: 961[Submit][Status][Discuss]Description方伯伯在自己的农田边散步,他突然发现田里的一排玉米非常的不美。这排玉米一共有N株,它们的高度参差不齐。方伯伯认为单...
JConsole 可视化工具介绍一、 JConsole介绍1.1 JConsole描述 Jconsole (Java Monitoring and Management Console),一种基于JMX的可视化监视、管理工具。1.2 启动JConsole点击JDK/bin 目录下面的jconsole.exe 即可启动然后会自动自动搜索本机运行的所有虚拟机进程...
JS 时间戳转字符串:var formatlistdate = function(time) { var date=new Date(time); var y = date.getFullYear(); var m = date.getMonth() + 1; var d = date.getDate(); var hour = date.get...
博弈论-囚徒困境与重复囚徒困境的启示“囚徒困境”囚徒困境(prisoner’s dilemma):讨论的是两个被捕的囚徒之间的一种博弈,它阐明了为什么“在合作对双方都有利时,保持合作也是困难的”。囚徒困境的故事讲的是,两个嫌疑犯作案后被警察抓住,分别关在不同的屋子里接受审讯。警察知道两人有罪,但缺乏足够的证据。警察告诉每个人:如果两人都抵赖,各判刑一年;如果两人都坦白,各判八年
报错信息:error LNK2019: 无法解析的外部符号报错的可能原因: 可能原因,没有写构造函数和析构函数 引用的另一个类中的没有这个类中所使用的函数 (暂时还没遇到其他的原因,有问题的请私信或者留言)解决方案:看报错信息是哪个.obj文件报的错误找到那个类,如这里找到的是TollgateScene.cpp(.obj是编译出来的文件)中提示说找不到p
基础介绍Webpack也在不断的优化迭代;截至目前,已经更新至 v4.16.0;在Webpack4这个版本,它在原有基础上,做了很多优化,也引入了颇多的新特性。在新的版本中,将获得更多模块类型及对.mjs的支持,更好的默认值、更为简洁的模式设置、更加智能的来分割Chunk,还新增的splitChunks来自定义分割代码块,诸此等等。在升级至新版Webpack的项目中,在包的构建速度、代码块体积&...