7.包管理工具

发布时间:2026/8/14 16:42:46

7.包管理工具
Pypi全称Python Package Index是 Python 官方的第三方软件包仓库软件包是以构建后的分发包.whl和.tar.gz形式存在。pip install 默认就是去 PyPI 上搜索、下载并安装这个包的。pip install 把从远程仓库下载得到的 .whl 顺便解压部署到 site-packages。build命令Build构建 指的是将你的原始源代码转换成可分发的标准安装包的过程。源代码按照 Python 社区标准打包成.whl【ZIP格式】和.tar.gz两个文件。Build 不是把 Python 编译成机器码不像 C/C而是把散落的文件按 PEP 标准打包归档。纯 Python 包的.whl里仍然是.py文件只是被组织成了标准目录结构。工具本质上是一个以解决特定任务为目标、通过命令行或脚本调用的可执行程序。它不是一个技术类型而是一个使用形态——同样的.py代码封装方式不同可以是库、可以是工具、也可以是 Web 服务。1.conda环境隔离【虚拟环境】、依赖管理【能安装非 Python 底层依赖】、多语言支持。工具管理范围优势短板CondaPython 系统底层库 (CUDA/MKL 等)科学计算、深度学习、多 Python 版本普通轻量小库更新慢pip仅 Python 纯代码包第三方 Python 库最全、更新快无法解决 C/C 底层依赖安装curl -O https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-x86_64.sh bash Miniconda3-latest-MacOSX-x86_64.sh # conda 临时不生效 conda deactivate必要性uv/pip只能安装 Python 包。如果某个 Python 包依赖系统级的共享库如libgdal,ffmpeg,cuda-toolkit,mkl你必须自己在操作系统层面手动安装它们或者祈祷 pip 下载的 wheel 包里捆绑了所有动态链接库。Conda:它是一个通用的包管理器。它可以安装 Python 解释器本身也可以安装 C/C 编译器、CUDA 运行时、R 语言、PostgreSQL 客户端等。# 新建一套隔离的 Python、pip、各类依赖包不同环境包互不干扰是运行环境,非项目目录 conda create -n myenv python3.10 # 创建环境时直接安装包 conda create -n myenv python3.10 numpy pandas scikit-learn # 激活 / 退出环境 conda activate myenv # deactivate 命令后不需要显式提供环境名 conda deactivate # 查看当前所有环境列表 conda env list # 或 conda info --envs # 克隆已有环境 conda create -n new_env --clone old_env # 删除环境 conda remove -n myenv --all # 导出环境配置推荐用显式依赖而非全量导出 conda env export environment.yml # 完整导出含版本号 conda env export --from-history env.yml # 仅导出手动安装的包更干净 # 从文件创建环境 conda env create -f environment.yml 以下为包管理命令 # 在当前环境中安装包 conda install numpy pandas # 安装指定版本 conda install numpy1.24.3 # 从特定 channel 安装 conda install -c conda-forge gdal # 卸载包 conda remove numpy # 更新包 conda update numpy # 更新单个包 conda update --all # 更新环境中所有包 # 搜索包查看可用版本和来源 conda search numpy # 查看已安装的包 conda list # 当前环境 conda list -n myenv # 指定环境当激活某个环境后【执行命令 conda activate langchain_v1.2】终端会显示该环境名所以conda deactivate 不需要显式指定环境名该命令执行完毕后终端就不会显示该环境名。1.1.仓库在 Conda/Anaconda 生态中Channel频道本质上就是一个软件包的仓库源。你可以把它理解为手机上的“应用商店”或 Linux 中的“软件源”。Conda 从你配置的 Channel 中搜索、下载和安装包。Anaconda 的专属商业仓库 defaultshttps://repo.anaconda.com/pkgs/main https://repo.anaconda.com/pkgs/r #R语言商业仓库 https://repo.anaconda.com/pkgs/msys2 # 仅 Windows社区仓库 (conda-forge)开源免费、与 defaults 高度兼容但混用时偶尔可能出现依赖冲突。# 从 conda-forge 安装 pandas conda install -c conda-forge pandas # 同时从多个 channel 搜索按优先级从左到右 conda install -c pytorch -c nvidia pytorch-cuda #查看当前配置的 Channel conda config --show channels #永久添加 Channel推荐 # 添加 conda-forge 并设为高优先级 conda config --add channels conda-forge conda config --set channel_priority strict2.pip包管理# 1. 创建虚拟环境 .venv 里面包含独立Python环境需要的所有文件 python3 -m venv .venv # 2. 激活环境Mac / Linux source .venv/bin/activate # 激活后终端会出现 (.venv)此时 pip 只会装在这个环境里 pip install requests # 3. 退出虚拟环境 deactivate # 不用了直接删除整个文件夹即可清理 rm -rf .venv它和 conda 的区别venvPython 原生自带只管理 Python 与 Python 包不能管理 CUDA、C 库、不同 Python 大版本。conda独立工具可以安装不同版本 Python、底层编译依赖cuda、ffmpeg 等。有了虚拟环境保证每个项目拥有专属的Python运行环境不同环境下相同包不同版本就不会出现冲突等问题。pip install flask #全局安装flask模块 pip show flask #展示模块flask的详情版本号、包所在的全局路径sys.path是 Python 的模块搜索路径列表Python 导入import xxx时会按顺序遍历这个列表里的文件夹寻找你要导入的包 / 脚本。pip install只会把第三方包安装到 site-packagessite-packages 只是 sys.path 其中一条路径。将依赖列表方便准确的分享pip3 freeze - requirements.txt pip3 install -r requirements.txt #安装requirements.txt中依赖项缺点freeze指令无法区分直接依赖项 or 间接依赖项。例如pip3 install flask 只有一个依赖但是requirements.txt文件包含间接依赖具体如下这样依赖项比较多时分享安装很麻烦。blinker1.9.0 click8.4.2 Flask3.1.3 itsdangerous2.2.0 Jinja23.1.6 MarkupSafe3.0.3 Werkzeug3.1.8并且uninstall卸载依赖时只能卸载flask依赖包其产生的间接依赖并不会被卸载。优化方案之pyproject.toml文件【pyproject.toml管理项目依赖】[project] name python dependencies [ Flask3.1.3 ]项目根目录下执行以下命令安装pip3 install -e . 。pyproject.toml管理项目依赖的缺点不能通过pip3等命令安装依赖只能手动查找官方相关依赖的版本号并手动写入pyproject.toml文件中。解决办法uv or poetry or pdm 命令工具替代pip3等相关命令。3.UVuv or poetry or pdm 这些命令其实是对pip3命令的高级封装其核心目的就是将我们从繁琐的环境和依赖中解放出来。使用这些高级命令时项目中必须将解释器配置成虚拟环境下的解释器而非全局解释器。uv add flask # 该命令直接包含以下命令所有功能 python -m venv .venv source .venv/bin/avtivate edit pyproject.toml pip3 install -e . uv sync #当拿到别人项目后执行该命令则自动基于pyproject.toml文件创建虚拟环境、各项依赖等 uv run xxx.py #等价于 python xx.py当然在uv环境下同样可以执行python相关命令。uv python list #输出uv支持的所有Python版本 uv python install cpython-版本号 #uv安装指定版本的python uv run -p 3.12 xx.py #指定python版本运行脚本程序 uv run -p 3.12 python #进入交互页面 uv init -p 3.13 #在项目根目下自动生成 Python 项目基础骨架包含pyproject.toml、虚拟环境等 uv add flask #安装依赖并且将其添加到pyproject.toml文件中 uv run xx.py # 因为Init指定了版本号uv运行脚本时无需指定版本号直接运行脚本 uv tree #打印依赖树 ruff check #检查代码是否符合编码规范 uv add ruff --dev #将工具ruff作为依赖下载下来--dev 避免打包时将ruff工具打包进去进而携带到线上环境 uv remove ruff --dev uv tool install ruff # 安装工具的方式安装工具到系统中这些工具脱离当前工程独立运行。此种方式安装的工具整个系统可用 uv tool list将代码编译成可以直接运行的工具

相关新闻

G-Helper无法启动怎么办?5个步骤快速修复华硕控制工具启动闪退

G-Helper无法启动怎么办?5个步骤快速修复华硕控制工具启动闪退

2026/8/14 16:42:46

G-Helper无法启动怎么办?5个步骤快速修复华硕控制工具启动闪退 【免费下载链接】g-helper Lightweight Armoury Crate alternative for Asus laptops with nearly the same functionality. Works with ROG Zephyrus, Flow, TUF, Strix, Scar, ProArt, Vivobook, Zen…

gerbv 免费开源 Gerber 文件查看器:PCB 打样前检查制造文件的完整指南

gerbv 免费开源 Gerber 文件查看器:PCB 打样前检查制造文件的完整指南

2026/8/14 16:42:46

gerbv 免费开源 Gerber 文件查看器:PCB 打样前检查制造文件的完整指南 【免费下载链接】gerbv Maintained fork of gerbv, carrying mostly bugfixes 项目地址: https://gitcode.com/gh_mirrors/ge/gerbv PCB 设计在 EDA 软件里看着一切正常,不代…

Seedance 2.0 怎么用?从上传参考素材到生成视频的完整教程:提示词与 @引用实战(Seedance2.5可参考)

Seedance 2.0 怎么用?从上传参考素材到生成视频的完整教程:提示词与 @引用实战(Seedance2.5可参考)

2026/8/14 16:32:45

本文以即梦 AI 中的 Seedance 2.0 为例,讲解从上传图片、视频、音频素材,到通过 图片1、视频1 等方式精确控制生成结果的完整流程。重点拆解提示词结构,并提供可直接替换使用的模板。 一、Seedance 2.0 到底强在哪里? 与单纯“文…

5分钟让Blender原生读写3MF文件:Blender3mfFormat免费插件完整上手指南

5分钟让Blender原生读写3MF文件:Blender3mfFormat免费插件完整上手指南

2026/8/14 17:52:49

5分钟让Blender原生读写3MF文件:Blender3mfFormat免费插件完整上手指南 【免费下载链接】Blender3mfFormat Blender add-on to import/export 3MF files 项目地址: https://gitcode.com/gh_mirrors/bl/Blender3mfFormat Blender3mfFormat是一个专门解决"…

IINA播放器完整上手指南:macOS免费视频播放器的终极选择

IINA播放器完整上手指南:macOS免费视频播放器的终极选择

2026/8/14 17:52:49

IINA播放器完整上手指南:macOS免费视频播放器的终极选择 【免费下载链接】iina The modern video player for macOS. 项目地址: https://gitcode.com/gh_mirrors/iin/iina 如果你正在寻找一款 macOS 视频播放器,IINA播放器值得列入首选清单。这款…

你的 AutoHotkey 脚本卡在“只能做小事“?这个零基础库带你快速上手 Windows 级开发

你的 AutoHotkey 脚本卡在“只能做小事“?这个零基础库带你快速上手 Windows 级开发

2026/8/14 17:52:49

你的 AutoHotkey 脚本卡在"只能做小事"?这个零基础库带你快速上手 Windows 级开发 【免费下载链接】ahk2_lib 项目地址: https://gitcode.com/gh_mirrors/ah/ahk2_lib AutoHotkey V2 扩展库 ahk2_lib 是一个把普通脚本升级为专业 Windows 应用的完…

dxcore.dll 异常排查记录:图形程序枚举显卡失败时如何检查驱动、系统版本与安装目录

dxcore.dll 异常排查记录:图形程序枚举显卡失败时如何检查驱动、系统版本与安装目录

2026/8/14 17:52:49

图形程序启动、枚举显卡或选择渲染设备时 出现 dxcore.dll 缺失、加载失败或入口点异常时,先不要下载同名文件覆盖系统目录。dxcore.dll 涉及 Windows DXCore 图形适配器接口,更稳妥的做法是先保留完整提示和触发动作,再从安装状态、系统组件…

2026年还在玩GTA IV?这个免费修复补丁让我重新爱上自由城

2026年还在玩GTA IV?这个免费修复补丁让我重新爱上自由城

2026/8/14 17:52:49

2026年还在玩GTA IV?这个免费修复补丁让我重新爱上自由城 【免费下载链接】GTAIV.EFLC.FusionFix This project aims to fix or address some issues in Grand Theft Auto IV: The Complete Edition 项目地址: https://gitcode.com/gh_mirrors/gt/GTAIV.EFLC.Fusi…

Python进阶 - 正则表达式的标志位 忽略大小写与多行匹配

Python进阶 - 正则表达式的标志位 忽略大小写与多行匹配

2026/8/14 17:42:48

👋 大家好,欢迎来到我的技术博客! 📚 在这里,我会分享学习笔记、实战经验与技术思考,力求用简单的方式讲清楚复杂的问题。 🎯 本文将围绕Python进阶这个话题展开,希望能为你带来一些…

比较好的亚太EMBA,问了6位校友师资差别真的挺大

比较好的亚太EMBA,问了6位校友师资差别真的挺大

2026/8/13 11:01:28

比较好的亚太EMBA核心差异先看什么?对于希望兼顾工作与系统管理能力提升的亚太区高管而言,筛选匹配度高的EMBA项目时,师资配置是决定学习体验与实际收获的核心要素之一。我们结合3-4个公开信息透明、办学历史较长的亚太区主流EMBA项目特点&am…

备考3个月对比6份资料 海外游学的亚洲EMBA面试注意点

备考3个月对比6份资料 海外游学的亚洲EMBA面试注意点

2026/8/14 10:48:24

备考海外游学的亚洲EMBA面试,核心要围绕项目国际化设计逻辑、个人跨文化管理经验匹配度两个维度准备,避免把游学模块等同于普通旅游参访的认知偏差。不少备考者花3个月对比6份资料,却容易忽略面试官对“国际视野落地能力”的考察——比如香港…

比较好的国内EMBA,问了二十位校友聊透人脉价值

比较好的国内EMBA,问了二十位校友聊透人脉价值

2026/8/13 17:17:06

比较好的国内EMBA核心差异体现在哪些方面?比较好的国内EMBA的核心长期价值,很大程度上依托于校友网络的连接质量与资源生态的活跃度,这也是不少高管在择校时优先考量的因素。我们结合3-4个市场关注度较高的项目公开信息,从课程、师…

大连网站建设找简维科技:为您打造懂业务更懂用户的数字化转型引擎

大连网站建设找简维科技:为您打造懂业务更懂用户的数字化转型引擎

2026/8/14 0:01:53

在这个数字化浪潮席卷全球的今天,企业想要在激烈的市场竞争中站稳脚跟,拥有一张好看的“数字名片”已经远远不够了。很多老板在刚开始接触互联网业务时,都有一个共同的困惑:为什么我花了钱建的网站,就像是在真空中自嗨?访客进来转了两圈就跑了,线索石沉大海,甚至连客服…

临沂网站建设铭镇:深耕本土数字生态,以匠心铸就企业品牌核心竞争力

临沂网站建设铭镇:深耕本土数字生态,以匠心铸就企业品牌核心竞争力

2026/8/14 0:01:54

在这个流量为王、视觉至上的互联网时代,对于临沂乃至整个山东乃至全国的传统中小企业来说,拥有一张精美的“数字名片”早已不再是可选项,而是生存的必答题。每当夜幕降临,沂河两岸灯火辉煌,物流之都的喧嚣逐渐沉淀为对未来的思考。我们常常听到老板们在茶余饭后探讨:为什…

Flutter与OpenHarmony实现剧本杀组队表单开发实战

Flutter与OpenHarmony实现剧本杀组队表单开发实战

2026/8/14 0:01:54

1. 项目概述在移动应用开发领域,跨平台框架Flutter因其高效的开发体验和出色的性能表现,已经成为众多开发者的首选。而OpenHarmony作为新兴的操作系统平台,其开放性和灵活性为开发者提供了全新的可能性。本文将聚焦于一个实际应用场景——剧本…

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

2026/8/8 5:07:31

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文写作工具,覆盖选题构思、文献整理、内容生成、格式排版等核心场景,真正帮你高效搞定论文难题。 一、全流程王者:一站式搞定论文全链路(一天定稿首…

导师推荐!2026最新AI论文工具测评与实用推荐

导师推荐!2026最新AI论文工具测评与实用推荐

2026/8/9 13:42:46

2026年真正好用的AI论文工具,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…

告别游戏崩溃:XCOM 2模组管理器的智能革命

告别游戏崩溃:XCOM 2模组管理器的智能革命

2026/8/8 2:30:15

告别游戏崩溃:XCOM 2模组管理器的智能革命 【免费下载链接】xcom2-launcher The Alternative Mod Launcher (AML) is a replacement for the default game launchers from XCOM 2 and XCOM Chimera Squad. 项目地址: https://gitcode.com/gh_mirrors/xc/xcom2-lau…