Python依赖管理实战:Pip与Conda环境配置与requirements.txt生成指南
1. 项目概述为什么我们需要管理Python依赖如果你写过Python项目尤其是和别人协作过那么你一定遇到过这个场景在自己电脑上跑得好好的代码发给同事或者部署到服务器上就报了一堆ModuleNotFoundError。问题十有八九出在依赖包上——你装了pandas 2.0对方环境里是pandas 1.5或者干脆没装某个关键的第三方库。requirements.txt文件就是为解决这个问题而生的。它本质上是一个文本文件里面按行记录了你项目所依赖的所有第三方Python包及其精确版本。有了它别人只需要一条命令就能在你的项目根目录下一键复现出和你一模一样的Python运行环境。这不仅是团队协作的基石也是项目可复现性的关键对于机器学习、数据分析这类严重依赖特定版本库比如tensorflow或numpy的领域尤为重要。然而生成和安装requirements.txt并非只有pip freeze requirements.txt这一种方式。根据你使用的环境管理工具——是原生的pip还是更强大的conda——操作流程和最佳实践会有显著不同。用错了方法轻则环境混乱重则依赖冲突导致项目无法运行。接下来我就结合自己多年踩坑的经验把conda和pip这两条路径下的依赖管理方法掰开揉碎了讲清楚。2. 环境管理工具的核心差异Pip vs Conda在深入操作之前我们必须先理解pip和conda的根本区别。这决定了你后续所有操作的逻辑。很多人把它们混为一谈这是环境管理混乱的根源。Pip (Python Package Index)你可以把它理解为Python的“官方应用商店”。它只做一件事而且做得很好从PyPIPython Package Index这个中央仓库里下载并安装Python包。pip管理的是纯粹的Python包它不关心你的Python解释器本身是哪里来的也不关心非Python的依赖比如某些科学计算库底层需要的C库或CUDA驱动。pip安装的包通常位于Python解释器目录下的site-packages文件夹中。Conda (Anaconda/Miniconda)conda更像一个全能的“系统级环境管理器”。它出身于科学计算领域因此野心更大。它不仅可以管理Python包能从PyPI和conda自己的频道安装更重要的是它能管理环境本身。你可以用conda create -n myenv python3.9瞬间创建一个全新的、隔离的Python环境这个环境拥有独立的Python解释器、包目录。最关键的是conda能管理非Python依赖比如libblas这样的数学库或者cudatoolkit这样的NVIDIA GPU工具包。这是pip无法做到的。用一个简单的类比pip是在一个已有的房子里Python环境安装家具Python包而conda是直接给你盖一栋新房创建虚拟环境并且连房子带家具Python解释器包系统库一起管了。那么一个常见的混合场景是用conda创建并管理虚拟环境然后在那个环境里用pip去安装一些尚未被conda收录的、或者conda版本陈旧的PyPI包。这种“conda为主pip为辅”的策略非常普遍但也带来了依赖管理的复杂性我们后面会详细说。3. 使用Pip生成与安装requirements.txtpip是Python的默认包管理器绝大多数纯Python项目都使用它。其依赖管理流程直接明了。3.1 生成requirements.txt不仅仅是freeze最广为人知的命令是pip freeze。它会列出当前Python环境下所有通过pip安装的包及其精确版本。pip freeze requirements.txt执行后你会得到一个类似这样的文件numpy1.24.3 pandas2.0.3 requests2.31.0 Flask2.3.2注意pip freeze会导出当前环境下所有的包包括你项目可能并未直接使用但被其他包依赖而安装的间接依赖。这可能导致requirements.txt非常庞大且在另一个环境安装时更容易引发版本冲突。更推荐的做法使用pipreqs对于大型项目我们通常只关心项目直接依赖的包。这时可以使用第三方工具pipreqs它能通过扫描项目中的import语句自动生成只包含直接依赖的requirements.txt。首先安装它pip install pipreqs然后在你的项目根目录下运行pipreqs . --encodingutf-8 --force--force参数会覆盖已存在的requirements.txt文件。生成的文件会简洁很多只包含你代码里实际import的包。3.2 安装requirements.txt注意环境隔离拿到一个requirements.txt文件后安装命令非常简单pip install -r requirements.txt然而这里有一个至关重要的前置步骤环境隔离。千万不要直接在系统全局Python环境或你的基础conda环境里运行这行命令这会导致包版本污染影响其他项目。正确做法是使用虚拟环境使用venvPython 3.3内置# 创建虚拟环境 python -m venv my_project_env # 激活虚拟环境 (Linux/macOS) source my_project_env/bin/activate # 激活虚拟环境 (Windows) my_project_env\Scripts\activate # 然后在激活的环境内安装依赖 pip install -r requirements.txt使用virtualenv第三方更强大pip install virtualenv virtualenv my_project_env # 激活步骤同上3.3 Pip依赖安装的进阶技巧与避坑指南技巧1使用镜像源加速下载国内从PyPI官方源下载速度可能很慢。可以临时或永久更换为国内镜像源如清华源、阿里云源。临时使用pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple永久配置推荐pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple技巧2处理复杂的版本冲突有时安装会失败提示“无法找到满足要求的版本”。这通常是requirements.txt中某些包的版本范围存在冲突。第一步尝试先安装基础框架如numpy,pandas再安装其他依赖有时能绕过依赖解析器的死锁。第二步使用pip install --no-deps先安装某个冲突包忽略其依赖然后再整体安装。但这需要手动处理依赖较复杂。第三步终极方案使用pip-compile来自pip-tools包。你可以维护一个requirements.in文件只写直接依赖和宽松的版本范围如flask2.0然后运行pip-compile生成一个锁定所有次级依赖版本的requirements.txt。这能保证依赖树的一致性。# 安装pip-tools pip install pip-tools # 编写requirements.in # 编译生成精确的requirements.txt pip-compile requirements.in常见坑点“pip”不是内部或外部命令这个错误说明pip没有加入到系统的PATH环境变量中。方案A使用python -m pip来代替pip。例如python -m pip install requests。这是最通用、最推荐的方式它明确指定了使用哪个Python解释器的pip。方案B在安装Python时务必勾选“Add Python to PATH”。如果已经安装可以手动将Python的安装目录如C:\Python39\和脚本目录如C:\Python39\Scripts\添加到系统的PATH变量中。4. 使用Conda生成与安装环境文件conda的环境管理更为强大它通常使用environment.yml文件YAML格式来替代requirements.txt因为后者无法记录非Python依赖和Python解释器版本。4.1 导出Conda环境生成environment.yml要导出当前激活的conda环境的所有配置使用conda env export environment.yml导出的environment.yml文件内容非常丰富name: my_project_env # 环境名 channels: # 下载频道优先级 - conda-forge - defaults dependencies: # 所有依赖项 - python3.9.13 - numpy1.23.5 - pandas1.5.2 - pip: # 通过pip安装的包会单独列出 - flask2.3.2 - requests2.31.0这个文件完整定义了环境的“快照”包括环境名、频道源、所有conda包以及通过pip安装的包。注意conda env export导出的是绝对精确的环境包含了所有包的构建哈希值build hash。这保证了极高的可复现性但可能导致文件在某些操作系统间迁移时出现问题因为构建版本可能不同。一个更通用的方法是使用--from-history标志。生成更通用的环境文件conda env export --from-history environment.yml--from-history只会导出你显式通过conda install命令安装的包而不包括这些包自动拉取的依赖。这样生成的environment.yml更简洁兼容性更好conda在创建新环境时会重新解析这些包的依赖关系。4.2 从environment.yml创建环境根据environment.yml文件创建新环境的命令是conda env create -f environment.ymlconda会自动创建一个与文件中name字段同名的环境并安装所有指定的依赖。如果环境已存在可以使用conda env update -f environment.yml来更新。4.3 Conda与Pip混用的依赖管理策略这是最复杂也最现实的情况。最佳实践遵循一个核心原则尽可能使用conda安装仅当conda没有或版本不满足时才使用pip。操作流程首先用conda安装所有能找到的包。conda install numpy pandas scikit-learn对于conda没有的包比如某个新的深度学习框架或小众工具再使用pip安装。务必确保你已经激活了目标conda环境这样pip才会安装到当前conda环境里而不是别处。conda activate my_project_env pip install some-rare-package为什么顺序很重要因为pip不感知conda的依赖约束。如果你先用pip安装了一个包比如tensorflow它可能会强行升级或降级一些底层库如numpy这可能会破坏之前conda精心维护的依赖平衡导致环境不稳定。而conda先安装能建立一个稳定的基础pip后安装的包会尽量去适配这个基础。导出混合环境当你使用了混合安装后conda env export命令会自动将pip安装的包归类到dependencies下的一个pip:列表中如上例所示。这是最完整的记录方式。5. 项目实战从零搭建一个可复现的Python数据分析环境让我们通过一个模拟项目把上面的知识串联起来。假设我们要创建一个名为“SalesAnalysis”的数据分析项目使用pandas、matplotlib和jupyter。5.1 使用Conda创建与管理项目环境步骤1创建并激活专属环境# 创建一个名为sales_analysisPython版本为3.9的新环境 conda create -n sales_analysis python3.9 # 激活环境 conda activate sales_analysis此时你已进入一个干净的隔离环境。步骤2优先使用conda安装核心包# conda-forge频道通常有更新更全的包 conda config --add channels conda-forge conda config --set channel_priority strict # 安装包 conda install pandas matplotlib jupyter步骤3用pip安装conda没有的包假设我们需要一个叫pyodbc的库来连接数据库而conda-forge上的版本较旧。# 确保在sales_analysis环境内 pip install pyodbc步骤4导出完整环境配置conda env export environment.yml这个environment.yml就是项目的“环境说明书”。5.2 编写并维护项目依赖声明文件除了自动生成的environment.yml我强烈建议手动维护一个requirements.in或setup.py/pyproject.toml来声明项目的直接依赖和宽松版本要求。这对于库library的开发尤为重要。例如创建一个pyproject.toml现代Python项目的标准[project] name sales_analysis version 0.1.0 dependencies [ pandas1.5,2.1, # 声明兼容的版本范围 matplotlib3.5, jupyter, ] [project.optional-dependencies] dev [ # 开发依赖如测试、代码格式化工具 pytest, black, flake8 ]然后你可以使用pip-compile来自pip-tools来根据这个宽松声明生成一个用于部署的、版本锁定的requirements.txt# 安装pip-tools pip install pip-tools # 编译生产环境依赖 pip-compile -o requirements.txt pyproject.toml # 编译开发环境依赖 pip-compile --extra dev -o requirements-dev.txt pyproject.toml这样requirements.txt用于生产部署保证一致性pyproject.toml用于声明项目本身的依赖要求更灵活。5.3 团队协作与持续集成CI中的依赖管理在团队协作中环境一致性至关重要。将环境文件纳入版本控制将environment.yml或requirements.txt提交到Git仓库中。通常会将requirements.txt由pip-compile生成和pyproject.toml一起提交而自动生成的、包含系统哈希的environment.yml未使用--from-history时可能不适合跨平台可以选择不提交或提交使用--from-history导出的版本。在CI/CD中复现环境在GitHub Actions、GitLab CI等持续集成脚本中第一步就是根据这些文件创建环境。对于Conda:- name: Set up Conda environment uses: conda-incubator/setup-minicondav2 with: environment-file: environment.yml activate-environment: sales_analysis对于Pip/Venv:- name: Install dependencies run: | python -m pip install --upgrade pip pip install -r requirements.txt使用Docker进行终极隔离对于复杂的生产部署使用Docker容器是终极解决方案。你的Dockerfile可以基于一个最小的Python或Conda镜像然后复制requirements.txt并执行pip install。FROM python:3.9-slim WORKDIR /app COPY requirements.txt . RUN pip install --no-cache-dir -r requirements.txt COPY . . CMD [python, main.py]这确保了从操作系统层到Python包层的完全一致性。6. 疑难杂症与深度排错实录即使遵循了最佳实践依赖管理仍然可能遇到各种诡异问题。下面是我总结的几个高频难题和解决思路。6.1 Conda环境激活失败与解决方案问题1conda activate无效提示“conda” is not recognized as an internal or external command这通常发生在Windows系统且Conda没有正确初始化。解决以管理员身份打开“Anaconda Prompt”或“Miniconda Prompt”这是专为Conda配置的终端。如果必须在普通CMD或PowerShell中使用你需要手动运行conda init来配置你的shell。对于PowerShell运行conda init powershell然后重启终端。问题2CommandNotFoundError: Your shell has not been properly configured to use ‘conda activate’.这说明shell的配置脚本没有加载。在Linux/macOS上如果你用的是zsh但conda初始化的是bash就会出现这个问题。解决手动初始化你的shell。首先找到conda的安装路径然后运行# 假设conda安装在 /home/user/miniconda3 source /home/user/miniconda3/bin/activate # 然后初始化你的shell例如zsh conda init zsh关闭终端重新打开即可。问题3环境激活后Python解释器路径未改变在VSCode等编辑器中即使终端激活了环境编辑器选择的解释器可能还是旧的。解决在VSCode中按CtrlShiftP输入“Python: Select Interpreter”然后选择路径中包含你环境名如sales_analysis的Python解释器。6.2 依赖冲突的层层拆解与解决依赖冲突是包管理中最头疼的问题表现为安装失败或运行时ImportError。场景安装包A需要numpy1.20包B需要numpy1.20。优先寻找替代包检查是否有其他功能相同、但依赖更宽松的包可以替代冲突的包之一。使用Conda尝试Conda的依赖解析器有时比pip更强大能解决一些pip无法解决的冲突。尝试用conda install来安装主要包。创建新的干净环境这是最有效的方法。在一个全新的环境中按照依赖的重要性顺序安装。先安装最基础、版本约束最严格的包如tensorflow、pytorch再安装其他。手动下载并安装whl文件对于特别顽固的冲突可以到 https://pypi.org 或 https://www.lfd.uci.edu/~gohlke/pythonlibs/适用于Windows找到特定版本的.whl文件用pip install some_package-xx.whl进行本地安装有时可以绕过在线依赖解析。使用--no-deps和手动安装作为最后的手段可以强制安装某个包但不安装其依赖然后手动安装其依赖的兼容版本。这需要你对依赖树有深入了解。pip install package_A --no-deps # 然后根据错误提示手动安装其缺失的依赖并指定版本 pip install numpy1.19.5 some_other_depx.y.z6.3 离线环境下的依赖部署策略在内网或没有互联网的服务器上部署项目需要离线安装依赖。方法A使用pip下载所有包及其依赖在联网机器上准备相同的环境。下载所有包到本地目录pip download -r requirements.txt -d ./offline_packages这个命令会下载所有.whl或.tar.gz文件到offline_packages文件夹。将整个offline_packages文件夹和requirements.txt复制到离线机器。在离线机器上安装pip install --no-index --find-links./offline_packages -r requirements.txt--no-index告诉pip不要从PyPI查找--find-links指定从本地目录查找包。方法B使用Conda的离线包.tar.bz2在联网机器上导出environment.yml。使用conda pack将整个环境打包需要安装conda-packconda pack -n sales_analysis -o sales_analysis_env.tar.gz将压缩包传到离线机器解压到一个目录然后激活mkdir -p /path/to/envs tar -xzf sales_analysis_env.tar.gz -C /path/to/envs source /path/to/envs/bin/activate解压后的bin/activate脚本可以直接用来激活这个便携式环境。6.4 镜像源配置与连接问题处理网络问题是国内开发者的一大障碍。Pip永久换源Windows在用户目录C:\Users\你的用户名\下创建pip文件夹里面创建pip.ini文件内容如下[global] index-url https://pypi.tuna.tsinghua.edu.cn/simple trusted-host pypi.tuna.tsinghua.edu.cnLinux/macOS在用户目录下创建~/.pip/pip.conf内容同上。Conda换源执行以下命令修改.condarc配置文件通常在家目录下conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/ conda config --set show_channel_urls yes可以运行conda config --show channels查看当前频道优先级。SSL证书错误如果遇到SSL相关错误可以临时使用--trusted-host参数pip或尝试使用http而非https的镜像源不推荐长期使用。更根本的解决方法是更新系统的根证书。依赖管理是Python项目开发的基石初期多花一点时间建立规范的流程能为后续的协作、部署和维护省下无数的时间和精力。无论是选择纯pipvenv的轻量级方案还是conda的全家桶方案亦或是两者结合关键是要理解其原理形成适合自己团队的习惯并将环境定义文件作为代码的一部分来严肃对待。

相关新闻

EzCloud微服务SaaS平台架构解析:多租户零代码一体化企业系统整体设计

EzCloud微服务SaaS平台架构解析:多租户零代码一体化企业系统整体设计

前言在企业级SaaS与私有化系统开发场景中,多数自研项目普遍存在架构混乱、模块耦合严重、业务割裂、无统一权限体系、CRUD重复代码泛滥等问题。尤其外包项目、中小企业数字化系统、毕业设计项目,很难同时兼顾微服务稳定性、多租户数据隔离、低代码快速开…

2026/8/11 5:25:51 阅读更多 →
从RAG到Agent:构建可执行知识库的范式转移与实践路径

从RAG到Agent:构建可执行知识库的范式转移与实践路径

1. 从RAG到Agent:一次知识库理念的范式转移最近和几个做AI应用的朋友聊天,发现一个挺有意思的现象:大家一提到构建企业或个人的知识库,第一反应还是“上RAG”。从LangChain到Dify,从LlamaIndex到各种开源的RAG框架&…

2026/8/11 5:25:51 阅读更多 →
苹果CMS v10完整安装部署指南:从环境配置到安全加固

苹果CMS v10完整安装部署指南:从环境配置到安全加固

1. 项目概述:从零搭建一个属于自己的影视站最近几年,自己动手搭建一个影视资源网站,成了不少技术爱好者和个人站长热衷折腾的事情。这背后,一方面是出于对技术栈的探索兴趣,另一方面,也确实能带来一些实际的…

2026/8/11 5:25:51 阅读更多 →

最新新闻

Frida内存Dump技术:从Android SO文件提取到ELF修复实战

Frida内存Dump技术:从Android SO文件提取到ELF修复实战

1. 项目概述:为什么我们需要Dump内存中的SO文件? 在Android逆向工程和安全分析领域,SO(Shared Object,共享库)文件是核心目标之一。它通常由C/C编写,承载着应用的核心算法、加密逻辑、协议实现等…

2026/8/11 8:05:50 阅读更多 →
Unity网格变形插件Deform:高性能实时变形框架解析与应用实战

Unity网格变形插件Deform:高性能实时变形框架解析与应用实战

1. 项目概述:为什么Deform是Unity网格变形的“游戏规则改变者” 如果你在Unity里做过角色动画、环境交互或者任何需要模型动态变化的项目,大概率都遇到过网格变形的需求。传统的做法是什么?骨骼动画(Skinned Mesh Renderer&#x…

2026/8/11 8:05:50 阅读更多 →
brew list 命令详解

brew list 命令详解

文章目录1. 命令介绍2. 常见用法1. 命令介绍 brew list 是 Homebrew 中用于查看已安装软件包的核心命令 根据不同的命令参数,它可以列出所有已安装包、分类列出特定类型的包,或者查看某个具体包的安装文件路径 Homebrew 将可安装的软件工具分为两大种类…

2026/8/11 8:05:50 阅读更多 →
【爱马仕】Hermes 自动化工具快速部署,Windows 平台实操指南

【爱马仕】Hermes 自动化工具快速部署,Windows 平台实操指南

Windows 本地体验 Hermes 智能 Agent,整合包快速部署避坑指南 在尝试 Hermes 本地智能工具的时候,很多用户都会被环境配置环节卡住。原生部署需要准备对应版本运行库,处理环境变量、端口占用,还会遇到路径编码异常、组件缺失等各…

2026/8/11 8:05:50 阅读更多 →
市面上专业的钢筋网制造厂哪个好

市面上专业的钢筋网制造厂哪个好

核心结论市面上专业的钢筋网制造厂各有服务侧重,其中天津鸿宇泰隆商贸有限公司(简称鸿宇泰隆)凭借多国际标准覆盖、全场景定制能力及完善的出口服务体系,在海内外基建领域具备较高适配性,同时可结合项目需求对比中建钢…

2026/8/11 8:05:50 阅读更多 →
【前馈三维重建】Argus:室内场景的可度量全景三维重建

【前馈三维重建】Argus:室内场景的可度量全景三维重建

图1:Argus是一个前馈式三维重建网络,基于自主构建的室内全景三维数据集Realsee3D进行训练。该网络能够利用获取的稀疏多视角全景图像,快速重建出完整、一致且具有度量尺度的三维场景。 目录摘要一、全景3D重建与数据集二、预备知识&#xff1…

2026/8/11 8:04:50 阅读更多 →

日新闻

如何用Video2X实现专业级视频画质提升:AI视频增强完整指南

如何用Video2X实现专业级视频画质提升:AI视频增强完整指南

如何用Video2X实现专业级视频画质提升:AI视频增强完整指南 【免费下载链接】video2x A machine learning-based video super resolution and frame interpolation framework. Est. Hack the Valley II, 2018. 项目地址: https://gitcode.com/GitHub_Trending/vi/v…

2026/8/11 0:00:02 阅读更多 →
前后端分离项目中控制台与接口工具数据差异排查指南

前后端分离项目中控制台与接口工具数据差异排查指南

1. 问题现象解析:控制台与Apifox的数据差异 最近在调试一个前后端分离项目时,遇到了一个典型问题:后端服务在本地开发环境控制台能正常输出查询数据,但通过Apifox测试时却返回空结果。这种"控制台有数据,接口工具…

2026/8/11 0:00:03 阅读更多 →
AI编程实战:从Claude Code踩坑到游戏开发入门

AI编程实战:从Claude Code踩坑到游戏开发入门

1. 从“AI能帮我做游戏”到“AI让我重新学编程”最近身边不少朋友,尤其是一些非技术背景、但对游戏开发有浓厚兴趣的朋友,都在问我同一个问题:“听说现在用Claude Code这种AI编程工具,小白也能做游戏了,是真的吗&#…

2026/8/11 0:00:03 阅读更多 →

周新闻

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁 【免费下载链接】baidupankey 在线查询网盘提取码(维护中 rm repo) 项目地址: https://gitcode.com/gh_mirrors/ba/baidupankey 你是否曾经在深夜寻找一份重要资料&#x…

2026/8/11 1:08:05 阅读更多 →
如何快速生成中国车牌图片:Python开源工具完整指南

如何快速生成中国车牌图片:Python开源工具完整指南

如何快速生成中国车牌图片:Python开源工具完整指南 【免费下载链接】chinese_license_plate_generator 中国车牌生成器 项目地址: https://gitcode.com/gh_mirrors/ch/chinese_license_plate_generator 中国车牌生成器是一个基于Python的开源项目&#xff0c…

2026/8/11 1:08:05 阅读更多 →
收藏!小白程序员轻松入门大模型,从Harness工程开始实践

收藏!小白程序员轻松入门大模型,从Harness工程开始实践

文章强调学习大模型不应只关注模型本身,而应重视模型外的系统搭建,即Harness。提出AgentModelHarness的实用公式,详细介绍Harness的四个层次:持久化层、执行层、控制层和观察与验证层。文章还探讨了上下文工程、工具设计、AGENTS.…

2026/8/11 1:08:05 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/10 17:07:33 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/11 1:08:06 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/10 17:07:33 阅读更多 →