Python 包管理工具讲解pip 📅 发布时间:2026/8/25 17:18:44 👁 浏览次数: 文章目录一、什么是 pip常用命令二、什么是 requirements.txt1. 创建 requirements.txt2. 使用 requirements.txt3. 版本控制写法三、为什么要用 requirements.txt四、常见实践五、pip 依赖存放位置1. 全局安装没有虚拟环境时2. 虚拟环境推荐3. 为什么项目文件夹里看不到在Python项目开发中,我们经常会用到第三方库比如requests、flask、numPy等。如果不加管理项目可能会出现“我的环境能跑你的环境报错”的问题。这时就需要了解两个核心工具pip和requirements.txt。一、什么是pippip是Python的官方包管理工具Package Installer for Python。它可以用来安装、卸载和管理 Python 包。pip安装依赖存放位置常用命令安装包pipinstallrequests安装最新版本的requests。如果需要指定版本pipinstallrequests2.31.0卸载包pip uninstall requests查看已安装包pip list查看某个包的详细信息pip show requests会显示版本、安装路径、依赖等。更新包pipinstall--upgraderequests冻结导出当前环境依赖pip freeze输出类似Flask2.2.5 requests2.31.0 SQLAlchemy2.0.23二、什么是requirements.txtrequirements.txt是一个纯文本文件用来记录项目所需的依赖库及其版本。它通常和pip配合使用作用类似于“项目依赖清单”。1. 创建requirements.txt最常见的方法是用pip freezerequirements.txt生成的文件内容可能是Flask2.2.5 requests2.31.0 SQLAlchemy2.0.23这样别人拿到项目后可以快速在新环境里安装所有依赖。2. 使用requirements.txt安装依赖pipinstall-rrequirements.txt这样会一键安装文件里列出的所有包及对应版本。3. 版本控制写法在requirements.txt里你可以指定包的版本范围固定版本requests2.31.0必须安装 2.31.0。大于等于某个版本Flask2.0小于某个版本Django4.0范围SQLAlchemy1.4,2.0这样能避免兼容性问题。三、为什么要用requirements.txt保证环境一致开发、测试、生产环境都使用同样的依赖版本避免“本地能跑线上报错”的情况。方便协作团队成员只需要pip install -r requirements.txt就能快速搭建环境。便于部署部署到服务器或容器时也可以一键安装依赖。四、常见实践虚拟环境配合requirements.txt通常我们会先创建一个虚拟环境再在其中安装依赖并生成requirements.txt。python-mvenv venvsourcevenv/bin/activate# Linux/Macvenv\Scripts\activate# Windowspipinstall-rrequirements.txt这样不同项目之间不会冲突。分层依赖有些项目会维护多个依赖文件比如requirements.txt基础依赖requirements-dev.txt开发调试用比如 pytest, blackrequirements-prod.txt生产环境依赖五、pip 依赖存放位置pip和安装的依赖都存放到了哪里本地项目文件夹并没有这是个很常见的疑问 。你用pip install xxx安装依赖后默认情况下 不会安装到你的项目文件夹而是安装到Python 的 site-packages目录 下。具体情况取决于你是用 系统 Python 还是 虚拟环境。1. 全局安装没有虚拟环境时如果你直接执行pipinstallrequests那么包会被安装到全局 Python 解释器的 site-packages目录。你可以通过下面的命令找到位置python-msite输出里会有类似sys.path [ ..., /usr/local/lib/python3.11/site-packages, ]最后这一项就是pip安装依赖的路径。如图或者更直接pip show requests如图输出里会有Location: /usr/local/lib/python3.11/site-packages文件资源管理位置2. 虚拟环境推荐通常开发时我们不会全局安装而是用虚拟环境隔离依赖。例如python-mvenv venvsourcevenv/bin/activate# Linux/Macvenv\Scripts\activate# Windows 下激活虚拟环境 不要忘记了pipinstallrequests此时依赖会装到项目目录/venv/lib/python3.11/site-packagesWindows 下是venv\Lib\site-packages如图这样依赖就会跟随项目而不是全局共享。3. 为什么项目文件夹里看不到因为pip安装不会把包散落到你的源码目录而是集中放在site-packagesPython 运行时通过sys.path去找到这些包。如果你需要“记录”依赖可以用pip freezerequirements.txt下次在新的环境里可以pipinstall-rrequirements.txt 感谢阅读想了解更多 我的博客网站 | 记录思考分享干货 我的个人主页 | 关于我、开源项目