20分钟拿下!Python pip 功能大全(python,pip)
liuian 2025-06-08 22:32 3 浏览
点赞、收藏、加关注,下次找我不迷路
不管你是刚入门的小白,还是有一定经验想查漏补缺的学习者,这篇文章都能让你把 pip 的功能摸得明明白白,轻松玩转 Python 包管理!
一、pip 是什么?为啥要学它?
咱们可以把 Python 比作一个超级工厂,而 pip 就是这个工厂里的 "物流总管"。工厂生产各种产品(也就是我们说的 Python 包),当我们需要某个产品来完成特定任务时,pip 就负责帮我们把这个产品快速、准确地送到工厂里。比如说,我们想让 Python 具备发送网络请求的能力,就需要安装 requests 这个包,这时候 pip 就派上大用场啦!
而且,在 Python 的世界里,有成千上万的包等着我们去使用,这些包能帮我们实现各种强大的功能,从数据分析到人工智能,从网页开发到游戏制作,应有尽有。而 pip 就是我们获取这些包的最主要工具,学会了 pip,就相当于拿到了打开 Python 丰富功能宝库的钥匙。
二、pip 的基础操作:安装、升级、卸载包
(一)安装包:把想要的包带回家
这是 pip 最常用的功能之一啦。比如说我们要安装一个用来发送网络请求的包 requests,只需要在命令行里输入一行简单的命令就行。
命令格式:pip install 包名
举个栗子:
pip install requests
这时候,pip 就会去 Python 的包仓库(PyPI)里找到 requests 这个包,然后下载并安装到我们的电脑上。安装完成后,我们就可以在 Python 代码里使用 requests 来发送网络请求啦。
如果我们想安装指定版本的包呢?比如我们想安装 requests 的 2.26.0 版本,只需要在包名后面加上==版本号就行。
命令格式:pip install 包名==版本号
举个栗子:
pip install requests==2.26.0
还有一种情况,有时候我们下载包的速度很慢,这可能是因为默认的包仓库服务器在国外,这时候我们可以使用国内的镜像源来加速下载。比如使用清华大学的镜像源,命令就是:
命令格式:pip install -i
https://pypi.tuna.tsinghua.edu.cn/simple/ 包名
举个栗子:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple/ requests
(二)升级包:让包保持最新状态
包就像我们的手机 APP,开发者会不断更新优化,修复 bug,增加新功能。所以我们也需要时不时地把包升级到最新版本。
命令格式:pip install --upgrade 包名 或者 pip install -U 包名
举个栗子:
pip install --upgrade requests
或者
pip install -U requests
这样,pip 就会把 requests 包升级到最新版本啦。
(三)卸载包:把不需要的包送走
当我们不再需要某个包的时候,就可以把它卸载掉,释放电脑的空间。
命令格式:pip uninstall 包名
举个栗子:
pip uninstall requests
这时候,pip 会问我们是否确定要卸载,输入y然后回车,就可以把 requests 包卸载掉啦。
基础操作命令总结:
操作类型 | 命令格式 | 例子 |
安装最新版本包 | pip install 包名 | pip install requests |
安装指定版本包 | pip install 包名 == 版本号 | pip install requests==2.26.0 |
使用国内镜像源安装 | pip install -i 镜像源地址 包名 | pip install -i https://pypi.tuna.tsinghua.edu.cn/simple/ requests |
升级包 | pip install --upgrade 包名 或 pip install -U 包名 | pip install --upgrade requests |
卸载包 | pip uninstall 包名 | pip uninstall requests |
小口诀:
安装包,install 跟包名,指定版本加双等,镜像加速换地址;
升级包,--upgrade 别忘记,或者 - U 来代替;
卸载包,uninstall 走一波,确认卸载输个 y。
三、查看已安装的包:看看家里都有哪些包
有时候我们想知道自己的电脑上已经安装了哪些 Python 包,这时候就需要用到 pip 的查看功能啦。
(一)查看所有已安装的包
命令格式:pip list
执行这个命令后,会列出所有安装的包以及它们的版本号,看起来就像这样:
Package Version
---------- -------
pip 23.1.2
requests 2.26.0
setuptools 65.5.1
(二)查看已安装包的详细信息
如果我们想了解某个包的详细信息,比如作者、描述、安装位置等,可以使用pip show命令。
命令格式:pip show 包名
举个栗子:
pip show requests
执行后会显示 requests 包的详细信息,比如:
Name: requests
Version: 2.26.0
Summary: Python HTTP for Humans.
Home-page: https://requests.readthedocs.io
Author: Kenneth Reitz
Author-email: me@kennethreitz.org
License: Apache 2.0
Location: c:\python39\lib\site-packages
Requires: certifi, charset-normalizer, idna, urllib3
Required-by:
小口诀:
想看已装包,list 来报道,
详细信息要查看,show 后跟包名。
四、搜索包:在包的海洋里找到你想要的
当我们不知道某个功能需要哪个包来实现,或者想看看有没有更合适的包时,就可以使用 pip 的搜索功能。
命令格式:pip search 关键词
举个栗子:
比如我们想找和数据分析相关的包,就可以输入:
pip search data analysis
这时候,pip 会在 PyPI 上搜索包含 "data analysis" 关键词的包,并列出相关的结果,比如 pandas、numpy、matplotlib 等包都会被搜索出来,还会显示每个包的简要描述,方便我们选择。
五、其他实用功能
(一)查看 pip 的版本
命令格式:pip --version 或者 pip -V
执行后会显示 pip 的版本号,比如:
pip 23.1.2 from c:\python39\lib\site-packages\pip (python 3.9)
(二)升级 pip
pip 本身也会不断更新,为了使用最新的功能和更好的体验,我们需要定期升级 pip。
命令格式:python -m pip install --upgrade pip
(三)导出已安装的包列表:备份你的包清单
当我们在一台电脑上安装了很多包,想在另一台电脑上配置相同的环境时,就可以先导出已安装的包列表,然后在另一台电脑上根据这个列表安装包。
导出命令:pip freeze > requirements.txt
这个命令会把所有已安装的包及其版本号保存到 requirements.txt 文件中。
安装命令:pip install -r requirements.txt
这样,就可以根据 requirements.txt 文件中的列表安装相应的包啦。
小口诀:
看版本,--version 或 - V;
升级 pip,python -m 别忘记;
导出列表 freeze,安装就用 - r 加文件。
六、常见问题解决
(一)找不到命令怎么办?
有时候我们在命令行输入 pip 命令时,会提示 "pip 不是内部或外部命令,也不是可运行的程序或批处理文件"。这通常是因为没有将 Python 的安装路径添加到系统的环境变量中。解决方法是:重新安装 Python,在安装过程中勾选 "Add Python to PATH" 选项,或者手动将 Python 安装目录下的 Scripts 文件夹(比如 C:\Python39\Scripts)添加到系统环境变量中。
(二)安装包时出现错误怎么办?
如果安装包时出现错误,首先检查网络是否正常,然后可以尝试使用国内镜像源重新安装。如果还是不行,可以查看错误信息,根据错误提示进行排查,或者在网上搜索错误信息,看看其他小伙伴是怎么解决的。
(三)包的版本冲突怎么办?
有时候安装某个包时,会提示版本冲突,这时候可以尝试指定一个兼容的版本进行安装,或者升级或降级相关的包来解决冲突。
七、pip常用命令解释
pip 命令的参数非常多,下面列出一些最常用的参数:
- --version:显示 pip 的版本号。
- --help:显示帮助信息。
- -q, --quiet:不输出任何信息。
- -v, --verbose:输出详细的信息。
- -c, --constraint:指定依赖关系文件。
- -r, --requirements:指定依赖关系文件。
- --no-index:不使用 PyPI 上的索引。
- --find-links:在指定的 URL 中查找包。
- --trusted-host:指定下载的主机名。
- --no-binary:不使用预编译的二进制文件。
- --cache-dir:指定缓存目录。
- --src:指定源码目录。
- --build:指定构建目录。
- --ignore-installed:忽略已安装的包。
- --upgrade:升级已安装的包。
- --force-reinstall:强制重新安装包。
- --no-deps:不安装依赖关系。
- --editable:安装可编辑模式。
- --index-url:指定 PyPI 的 URL。
- --extra-index-url:指定额外的索引 URL。
- --isolated:创建一个独立的环境。
相关推荐
- 谷歌Gemini 2.5全线爆发!勇战濒死恐慌,却被宝可梦吓到当场宕机
-
编辑:定慧桃子【新智元导读】今天,谷歌旗舰Gemini2.5三箭齐发,首次亮相轻量版2.5Flash-Lite。最新70页技术报告中,爆料了Gemini2.5在玩宝可梦濒死时,惊现类人的恐慌,...
- Claude 4系列模型正式发布,号称“世界上最好的”AI编程模型
-
当地时间5月22日,Anthropic在其首次开发者大会上,正式发布了其下一代Claude模型系列:ClaudeOpus4和ClaudeSonnet4。该公司在公告中高调宣称,...
- p5.js 中文入门教程(p5js和js怎么转换)
-
本文简介点赞+关注+收藏=学会了本文的目标是和各位工友一起有序的快速上手p5.js,会讲解p5.js的基础用法。本文会涉及到的内容包括:项目搭建p5.js基础2D图形文字图形样式...
- ElasticSearch中文分词插件(IK)安装
-
坚持原创,共同进步!请关注我,后续分享更精彩!!!前言ElasticSearch默认的分词插件对中文支持很不友好。一段话按规则会以每个中文字符来拆解,再分别建立倒排索引。如"中华人民共和国国歌...
- ELK 教程 - 发现、分析和可视化你的数据
-
【注】本文译自:ELKStackTutorial-GettingStartedWithELKStack|Edureka随着越来越多的IT基础设施转身云计算,对公共云安全工具...
- 网络安全事件技术排查(网络安全事件排查有哪些因素)
-
1.文件分析a)文件日期与异常文件检测文件时间检查:Windows:通过文件属性查看创建/修改时间,但需注意攻击者可能伪造时间(如使用工具修改文件时间戳)。Linux:使用ls-l或sta...
- 日志文件转运工具Filebeat笔记(日志文件生成原理)
-
一、概述与简介Filebeat是一个日志文件转运工具,在服务器上以轻量级代理的形式安装客户端后,Filebeat会监控日志目录或者指定的日志文件,追踪读取这些文件(追踪文件的变化,不停的读),并将来自...
- Spring Boot 分布式系统中的日志打印设计:实战指南
-
在分布式系统中,日志是排查问题、监控系统状态和进行事后分析的“生命线”。然而,随着微服务架构的普及,日志的管理和检索变得愈发复杂。尤其是在生产环境中,当问题发生时,如何快速定位相关日志成为了一个关键挑...
- Loki日志系统取代ELK?(日志系统 elk)
-
一、Loki是什么?Loki是由GrafanaLabs开源的一个水平可扩展、高可用性,多租户的日志聚合系统的日志聚合系统。它的设计初衷是为了解决在大规模分布式系统中,处理海量日志的问题。Loki采用...
- 20 个最热门的 MCP Server,收藏备用!
-
1.GitHubMCPServer功能:代码仓库管理、自动化代码审查、处理拉取请求(PR)、Issue跟踪。项目地址:https://docs.github.com/en/rest核心架构:基于...
- ElasticSearch实现数据模糊搜索(el-select模糊搜索)
-
关注我的微信公众号:后端技术漫谈不定期推送关于后端开发、爬虫、算法题、数据结构方面的原创技术文章,以及生活中的逸闻趣事。我目前是一名后端开发工程师。主要关注后端开发,数据安全,网络爬虫,物联网,边缘计...
- Linux 日志系统维护的实战示例(linux 日志文件系统)
-
Linux日志系统维护的实战示例,涵盖常见场景和工具:1.日志轮转与清理(Logrotate)问题:系统/var/log空间不足,需定期切割和清理旧日志。实战步骤:检查默认配置Logrotat...
- 日志分析平台——ELK安装配置(elk日志解析)
-
简介:ELK是(Elasticsearch、Logstash、Kibana)三个软件的集合简称。那么这三个软件分别扮演着一个什么样的角色呢?Elasticsearch:搜索引擎,主要任务是将日志索引并...
- Docker上使用Elasticsearch,Logstash,Kibana
-
在对一个项目做性能测试时我需要处理我们web服务器的访问日志来分析当前用户的访问情况。因此,我想这是试用ELK的一个好机会。ELK栈首先要注意的是使用它是非常简单的。从决定使用ELK到在本机上搭一个...
- .NET Core 性能监控(.net core性能对比)
-
一、.NETCore性能监控的重要性随着.NETCore应用程序的广泛应用,性能监控成为了保障应用稳定运行的关键环节。性能监控可以帮助开发者实时掌握应用状态,快速定位问题所在,并采取相应的...
- 一周热门
-
-
Python实现人事自动打卡,再也不会被批评
-
Psutil + Flask + Pyecharts + Bootstrap 开发动态可视化系统监控
-
【验证码逆向专栏】vaptcha 手势验证码逆向分析
-
一个解决支持HTML/CSS/JS网页转PDF(高质量)的终极解决方案
-
再见Swagger UI 国人开源了一款超好用的 API 文档生成框架,真香
-
网页转成pdf文件的经验分享 网页转成pdf文件的经验分享怎么弄
-
C++ std::vector 简介
-
python使用fitz模块提取pdf中的图片
-
《人人译客》如何规划你的移动电商网站(2)
-
Jupyterhub安装教程 jupyter怎么安装包
-
- 最近发表
- 标签列表
-
- python判断字典是否为空 (50)
- crontab每周一执行 (48)
- aes和des区别 (43)
- bash脚本和shell脚本的区别 (35)
- canvas库 (33)
- dataframe筛选满足条件的行 (35)
- gitlab日志 (33)
- lua xpcall (36)
- blob转json (33)
- python判断是否在列表中 (34)
- python html转pdf (36)
- 安装指定版本npm (37)
- idea搜索jar包内容 (33)
- css鼠标悬停出现隐藏的文字 (34)
- linux nacos启动命令 (33)
- gitlab 日志 (36)
- adb pull (37)
- table.render (33)
- uniapp textarea (33)
- python判断元素在不在列表里 (34)
- python 字典删除元素 (34)
- vscode切换git分支 (35)
- python bytes转16进制 (35)
- grep前后几行 (34)
- hashmap转list (35)