news 2026/4/2 22:12:57

Python——常用的包管理工具

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Python——常用的包管理工具

Python包管理工具知识笔记

Python包管理工具是开发过程中不可或缺的利器,它们负责包的下载、安装、更新、依赖管理等核心工作。本文将详细梳理pip、conda、pdm、uv这四个主流包管理工具的关键使用知识,涵盖工具下载、镜像源配置、缓存目录管理、虚拟环境创建、常见命令及适用场景,为Python开发提供清晰的参考。

一、pip——Python官方默认包管理工具

pip是Python的官方包管理工具,轻量且易用,主要用于管理Python Package Index(PyPI)上的包,是Python开发的基础工具之一。

1. 下载对应包管理工具

pip的安装与Python版本紧密关联:

  • Python 2.7.9+ 及 Python 3.4+ 版本已默认集成pip,无需单独下载,可通过命令pip --version(Python 2)或pip3 --version(Python 3)验证是否安装及版本信息。

  • 若未集成或需升级pip,可通过以下命令安装/升级:

    • Windows系统:python -m ensurepip --upgrade(Python 3)或python2 -m ensurepip --upgrade(Python 2)

    • Linux/macOS系统:python3 -m ensurepip --upgrade(Python 3)或sudo apt-get install python-pip(Ubuntu系统Python 2)

2. 配置下载镜像源

默认PyPI源位于国外,下载速度较慢,配置国内镜像源可显著提升下载效率。常见国内镜像源包括阿里云、清华、豆瓣等。

  • 临时使用镜像源:在安装包时通过-i参数指定,例如:pip3 install numpy -i https://mirrors.aliyun.com/pypi/simple/

  • 永久配置镜像源:

    • Windows系统:在用户目录(如C:\Users\用户名)下创建pip文件夹,新建pip.ini文件,写入以下内容:
[global] index-url = https://mirrors.aliyun.com/pypi/simple/ trusted-host = mirrors.aliyun.com
  • Linux/macOS系统:在用户目录下创建.config/pip文件夹(若不存在),新建pip.conf文件,写入内容与Windows的pip.ini一致。

3. 默认缓存目录及自定义缓存目录

  • 默认缓存目录:pip会缓存下载的包以避免重复下载,不同系统默认路径不同:

    • Windows:C:\Users\用户名\AppData\Local\pip\Cache

    • Linux:~/.cache/pip

    • macOS:~/Library/Caches/pip

    • 可通过命令pip3 cache dir查看当前系统的具体缓存目录。

  • 自定义缓存目录:通过--cache-dir参数指定,例如:pip3 install pandas --cache-dir D:\pip_cache,也可在pip配置文件中添加cache-dir = 自定义路径实现永久配置。

4. 创建虚拟环境

pip本身不直接提供虚拟环境创建功能,需结合Python内置的venv模块(Python 3.3+)或第三方工具virtualenv:

  • 使用venv创建(推荐):

    • 创建虚拟环境:python3 -m venv 虚拟环境名称(如python3 -m venv myenv)

    • 激活虚拟环境:

      • Windows:myenv\Scripts\activate

      • Linux/macOS:source myenv/bin/activate

    • 退出虚拟环境:deactivate

  • 使用virtualenv创建(需先安装):

    • 安装virtualenv:pip3 install virtualenv

    • 创建虚拟环境:virtualenv 虚拟环境名称

    • 激活/退出方式与venv一致。

5. 其他常见命令

  • 安装包:pip3 install 包名(指定版本:pip3 install 包名版本号,如pip3 install requests2.31.0)

  • 升级包:pip3 install --upgrade 包名

  • 卸载包:pip3 uninstall 包名(加-y跳过确认)

  • 查看已安装包:pip3 list(详细信息:pip3 show 包名)

  • 导出依赖清单:pip3 freeze > requirements.txt

  • 从依赖清单安装:pip3 install -r requirements.txt

  • 清理缓存:pip3 cache purge

二、conda——跨语言的包与环境管理工具

可点击移步查看conda如何创建虚拟环境并配置到PyCharm

conda是Anaconda和Miniconda自带的包管理工具,不仅支持Python包,还能管理C/C++、R等其他语言的包,同时具备强大的环境管理能力,在数据科学领域应用广泛。

1. 下载对应包管理工具

conda需通过安装Anaconda或Miniconda获取,Miniconda是精简版(仅含conda和核心依赖),更轻量,推荐日常使用。

  • 下载地址:

    • Miniconda:https://docs.conda.io/en/latest/miniconda.html(根据系统选择对应版本,如Windows 64位、macOS ARM64等)

    • Anaconda:https://www.anaconda.com/products/distribution

  • 安装后验证:Windows打开Anaconda Prompt,Linux/macOS打开终端,输入conda --version,显示版本信息即安装成功。

2. 配置下载镜像源

conda默认源下载速度较慢,配置国内镜像源(如清华源)可优化体验。

  • 临时使用:安装包时通过-c参数指定源,例如:conda install -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ numpy

  • 永久配置:

    • Windows:在用户目录(C:\Users\用户名)下找到.condarc文件(若不存在则新建),写入以下内容:
channels:-defaultsshow_channel_urls:truedefault_channels:-https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main-https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r-https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2custom_channels:conda-forge:https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloudmsys2:https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloudbioconda:https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloudmenpo:https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloudpytorch:https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloudsimpleitk:https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  • Linux/macOS:操作与Windows一致,.condarc文件位于~/.condarc。

  • 配置后清理索引缓存:conda clean -i

3. 默认缓存目录及自定义缓存目录

  • 默认缓存目录:conda缓存下载的包和环境文件,默认路径:

    • Windows:C:\Users\用户名.conda\pkgs 或 C:\ProgramData\Anaconda3\pkgs(系统级)

    • Linux:~/.conda/pkgs 或 /opt/anaconda3/pkgs(系统级)

    • macOS:~/.conda/pkgs 或 /Applications/Anaconda3/pkgs(系统级)

    • 通过命令conda config --show-sources可查看详细配置,其中pkgs_dirs字段即为缓存目录。

  • 自定义缓存目录:通过修改.condarc文件添加pkgs_dirs配置,例如:

pkgs_dirs:-D:\conda_cache\pkgs# Windows自定义路径# - /home/用户名/conda_cache/pkgs # Linux/macOS自定义路径
配置后保存,新的缓存将存储到指定路径。

4. 创建虚拟环境

conda的核心优势之一是内置虚拟环境管理,操作简洁:

  • 创建虚拟环境:conda create -n 环境名称 python=版本号(如conda create -n data_env python=3.10,指定Python 3.10版本)

  • 激活虚拟环境:

    • Windows:conda activate 环境名称

    • Linux/macOS:source activate 环境名称(conda 4.6+也支持conda activate)

  • 退出虚拟环境:conda deactivate

  • 查看所有环境:conda env listconda info --envs

  • 删除虚拟环境:conda env remove -n 环境名称

5. 其他常见命令

  • 安装包:conda install 包名(指定版本:conda install 包名=版本号,如conda install pandas=2.1.0)

  • 升级包:conda update 包名(升级所有包:conda update --all)

  • 卸载包:conda remove 包名

  • 查看环境内已安装包:conda list

  • 导出环境依赖:conda env export > environment.yml

  • 从依赖文件创建环境:conda env create -f environment.yml

  • 清理缓存:conda clean -p(清理未使用的包)、conda clean -t(清理tar包缓存)

三、pdm——现代Python项目依赖管理工具

可点击查看具体文章

pdm(Python Development Master)是一款新一代的Python包管理工具,基于PEP 621标准,支持锁文件机制,能精准管理项目依赖,同时集成了虚拟环境管理、包发布等功能,适合现代Python项目开发。

1. 下载对应包管理工具

pdm可通过多种方式安装,推荐使用官方推荐的pipx或pip安装:

  • 使用pipx安装(推荐,避免污染全局环境):

    • 先安装pipx:pip3 install pipx,并将pipx路径添加到环境变量(Windows需重启终端)

    • 安装pdm:pipx install pdm

  • 使用pip安装:pip3 install pdm(可能会与全局包产生依赖冲突,不推荐)

  • 验证安装:pdm --version

2. 配置下载镜像源

pdm支持配置PyPI镜像源,可通过命令行或配置文件设置。

  • 临时使用:安装包时通过--index-url参数指定,例如:pdm add numpy --index-url https://mirrors.aliyun.com/pypi/simple/

  • 永久配置:

    • 命令行配置(推荐):pdm config pypi.url https://mirrors.aliyun.com/pypi/simple/,设置后所有项目默认使用该源。

    • 配置文件修改:pdm的全局配置文件位于~/.config/pdm/config.toml(Linux/macOS)或C:\Users\用户名.config\pdm\config.toml(Windows),在文件中添加:

[pypi] url = "https://mirrors.aliyun.com/pypi/simple/"

3. 默认缓存目录及自定义缓存目录

  • 默认缓存目录:pdm缓存下载的包和虚拟环境文件,默认路径遵循系统规范:

    • Windows:C:\Users\用户名\AppData\Local\pdm\cache

    • Linux:~/.cache/pdm

    • macOS:~/Library/Caches/pdm

    • 通过命令pdm config可查看缓存相关配置,其中cache_dir字段即为缓存目录。

  • 自定义缓存目录:通过命令行设置,例如:pdm config cache_dir D:\pdm_cache(Windows)或pdm config cache_dir ~/pdm_cache(Linux/macOS),配置将永久生效。

4. 创建虚拟环境

pdm默认会为每个项目自动创建独立的虚拟环境,无需手动操作,也支持自定义虚拟环境配置。

  • 自动创建虚拟环境:在项目目录下执行pdm init,按照提示完成项目初始化(设置Python版本、项目名称等),pdm会自动创建虚拟环境并关联到项目。

  • 指定Python版本创建:pdm init --python 3.10,强制使用Python 3.10版本创建虚拟环境。

  • 激活虚拟环境:

    • Windows:pdm venv activate

    • Linux/macOS:source $(pdm venv activate --path)或直接使用pdm run 命令在虚拟环境中执行命令(如pdm run python script.py)

  • 查看虚拟环境信息:pdm venv list

  • 删除虚拟环境:pdm venv remove 环境ID/名称

5. 其他常见命令

  • 添加依赖包:pdm add 包名(开发依赖:pdm add -d 包名,如pdm add -d pytest;指定版本:pdm add 包名==版本号)

  • 升级依赖包:pdm update 包名(升级所有依赖:pdm update)

  • 卸载依赖包:pdm remove 包名

  • 查看依赖树:pdm list(详细依赖树:pdm show --tree)

  • 生成依赖文件:pdm自动生成pyproject.toml(项目依赖配置)和pdm.lock(依赖锁文件),无需手动导出

  • 安装项目依赖:在包含pyproject.toml的目录下执行pdm install,自动安装所有依赖

  • 清理缓存:pdm cache clean

四、uv——极速Python包管理工具

可点击查看具体文章

uv是由astral.sh开发的新一代Python包管理工具,基于Rust语言编写,以极致的速度著称,支持虚拟环境管理、依赖解析和包安装,兼容pip的requirements.txt格式,同时支持pyproject.toml。

1. 下载对应包管理工具

uv的安装方式简洁,支持多平台快速安装:

  • Windows系统(PowerShell):iwr https://astral.sh/uv/install.ps1 | iex

  • Linux/macOS系统(Bash):curl -LsSf https://astral.sh/uv/install.sh | sh

  • 通过pip安装:pip3 install uv(速度较慢,不推荐)

  • 验证安装:uv --version

2. 配置下载镜像源

uv支持配置PyPI镜像源,可通过环境变量或配置文件设置,操作简单。

  • 临时使用:通过环境变量指定,例如:

    • Windows(PowerShell):$env:UV_INDEX_URL="https://mirrors.aliyun.com/pypi/simple/",然后执行安装命令

    • Linux/macOS(Bash):UV_INDEX_URL="https://mirrors.aliyun.com/pypi/simple/" uv add numpy

  • 永久配置:

    • Windows:在系统环境变量中添加UV_INDEX_URL,值为镜像源地址(如https://mirrors.aliyun.com/pypi/simple/)

    • Linux/macOS:在/.bashrc或/.zshrc中添加export UV_INDEX_URL="https://mirrors.aliyun.com/pypi/simple/",执行source ~/.bashrc生效

3. 默认缓存目录及自定义缓存目录

  • 默认缓存目录:uv的缓存目录遵循XDG规范,不同系统路径如下:

    • Windows:C:\Users\用户名\AppData\Local\uv\cache

    • Linux:~/.cache/uv

    • macOS:~/Library/Caches/uv

    • 通过命令uv config show可查看缓存目录等配置信息。

  • 自定义缓存目录:通过环境变量UV_CACHE_DIR指定,例如:

    也可在系统环境变量中永久配置该路径。
    • Windows(PowerShell):$env:UV_CACHE_DIR="D:\uv_cache"

    • Linux/macOS(Bash):export UV_CACHE_DIR="$HOME/uv_cache"

4. 创建虚拟环境

uv的虚拟环境管理简洁高效,支持快速创建和激活。

  • 创建虚拟环境:uv venv(默认在项目目录下创建.venv文件夹作为虚拟环境),指定Python版本:uv venv --python 3.10

  • 激活虚拟环境:

    • Windows(PowerShell):.venv\Scripts\Activate.ps1

    • Linux/macOS(Bash):source .venv/bin/activate

  • 退出虚拟环境:deactivate

  • 删除虚拟环境:直接删除.venv文件夹,或执行uv venv remove(需在项目目录下)

5. 其他常见命令

  • 安装包:uv add 包名(指定版本:uv add 包名==版本号;安装requirements.txt依赖:uv pip install -r requirements.txt)

  • 升级包:uv upgrade 包名(升级所有包:uv upgrade)

  • 卸载包:uv remove 包名

  • 查看已安装包:uv list

  • 生成requirements.txt:uv pip freeze > requirements.txt

  • 清理缓存:uv cache clean

  • 运行Python脚本:uv run python script.py(直接在虚拟环境中执行,无需手动激活)

五、四个包管理工具的适用场景对比

工具

核心优势

适用场景

不适用场景

pip

官方默认、轻量、兼容性好、生态完善

  1. 简单Python项目开发;2. 快速安装PyPI上的包;3. 小型脚本或工具开发;4. 与venv/virtualenv配合使用的基础环境

  2. 复杂项目的依赖冲突解决;2. 跨语言包管理;3. 大规模项目的依赖版本精准控制

conda

跨语言管理、环境隔离彻底、数据科学包支持好

  1. 数据科学、机器学习项目(需安装C/C++依赖的包,如numpy、tensorflow);2. 多语言开发环境(同时使用Python、R、C++等);3. 需要统一管理系统级依赖的场景

  2. 纯Python的轻量项目(资源占用较大);2. 追求极致安装速度的场景;3. 需严格遵循PEP 621标准的现代Python项目

pdm

PEP 621标准、依赖锁机制、项目管理一体化

  1. 现代Python项目开发(符合PEP规范);2. 中大型项目的依赖精准管理;3. 需要发布Python包的场景;4. 重视依赖可复现性的项目

  2. 简单脚本开发(配置稍复杂);2. 依赖大量非PyPI源包的场景;3. 对工具学习成本敏感的新手快速开发

uv

极致速度、Rust编写、兼容pip生态、操作简洁

  1. 追求极致安装和依赖解析速度的场景;2. 兼容pip项目的快速迁移;3. 轻量到中大型Python项目;4. 对性能要求高的CI/CD流水线

  2. 需跨语言包管理的场景;2. 依赖特殊conda源包的项目;3. 对工具稳定性要求极高的核心生产环境(相对较新)

六、总结

pip作为Python官方工具,是基础且必备的包管理选择;conda在跨语言和数据科学领域不可替代;pdm是现代Python项目的理想选择,专注于依赖精准管理;uv则以极致速度为核心优势,兼容现有生态。在实际开发中,需根据项目类型、依赖复杂度、性能需求等因素选择合适的工具,也可结合使用(如conda创建基础环境,pip/pdm/uv管理Python包),以提升开发效率。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/31 9:12:37

【VSCode连接量子设备终极方案】:7种检测方法+自动化脚本分享

第一章:VSCode量子硬件连接检测概述在现代量子计算开发中,本地开发环境与远程量子硬件的稳定连接至关重要。Visual Studio Code(VSCode)凭借其强大的扩展生态系统,已成为量子编程的主流集成开发环境之一。通过专用插件…

作者头像 李华
网站建设 2026/4/2 18:11:58

CRT-Royale终极指南:为现代游戏注入复古灵魂的完整教程

CRT-Royale终极指南:为现代游戏注入复古灵魂的完整教程 【免费下载链接】crt-royale-reshade A port of crt-royale from libretro to ReShade 项目地址: https://gitcode.com/gh_mirrors/cr/crt-royale-reshade 想要在现代游戏中体验经典CRT显示器的怀旧魅力…

作者头像 李华
网站建设 2026/4/2 14:09:22

千万不能错过!这款外卖点单小程序,专业到让同行都震惊了!

千万不能错过!这款外卖点单小程序,专业到让同行都震惊了!引言随着移动互联网的快速发展,外卖行业已经成为现代生活中不可或缺的一部分。越来越多的餐饮商家开始重视线上业务的发展,而一款高效的外卖点单小程序则是提升…

作者头像 李华
网站建设 2026/3/15 7:32:44

06_软考_网络和多媒体

网络概述 计算机网络的概念 计算机网络的分类 网络的拓扑结构 OSI/RM参考模型 网络互联硬件 网络的设备 网络的传输介质 组建网络 答案:B 网络的协议 局域网协议 广域网协议 TCP/IP协议族 TCP分层 网际层协议 TCP传输协议 应用层协议 DNS 例题 路由选择策略…

作者头像 李华
网站建设 2026/4/1 20:17:33

11、Docker存储管理与数据持久化全解析

Docker存储管理与数据持久化全解析 1. NFS存储挂载 NFS(Network File System)允许在CoreOS节点上挂载卷,实现集群内所有CoreOS节点共享相同数据,这在容器跨节点迁移时对容器数据持久化非常有用。以下是在CoreOS节点上设置NFS挂载的步骤: 1. 启动NFS服务器并导出要共享的…

作者头像 李华
网站建设 2026/3/30 12:35:56

两款免费dll修复工具,游戏常用运行库+DirectX修复

游戏常用运行库 合集 整合了许多游戏会用到的运行库,支持 Windows XP – Windows 11 系统,并且支持自动检测系统勾选推荐的运行库,方便快捷。基本能解决99%游戏无法打开的问题!下载以下任一版本即可! YXK版 整合常见…

作者头像 李华