首页 / 从这里开始

为什么 AI 教学都要先装 Python 和 Node.js?运行环境、套件与虚拟环境一次看懂

作者 JC · 更新于 · 最后查证

简体版由繁体自动转换,少数用词可能和你习惯的不同。

要点速览

因为很多 AI 工具本身就是用 Python 或 JavaScript 写的程序,要有对应的运行环境(Python 或 Node.js)才能跑,而且这些工具是透过各自的套件管理工具(Python 用 pip,Node.js 用 npm、npx)来下载与安装。要看一份教学需要哪一个,看它的指令就知道:出现 python、pip、requirements.txt 是 Python;出现 node、npm、npx、package.json 是 Node.js。如果工具有提供官方安装程序或独立安装指令,往往两个都不用另外装。

为什么 AI 教学都要先装 Python 和 Node.js?因为你要用的 AI 工具,很多本身就是用 Python 或 JavaScript 写成的程序,电脑里要先有能「读懂并运行」这些程序的软件,工具才跑得起来。这篇不教安装步骤(各工具的安装方式请看对应的工具文章),而是说明这两个东西是什么、教学里那些 pip、npm、npx、虚拟环境在做什么,以及看到「找不到指令」时该怎么判断。

Python 和 Node.js 是什么?

编程语言是写程序用的语言;写好的代码要有另一个软件负责运行,这个软件称为运行环境(Runtime,让某种语言的程序能在电脑上跑起来的软件)。

  • Python 是一种编程语言,也是运行 Python 程序的软件名称。负责逐行读取并运行 Python 代码的部分称为解释器(Interpreter)。你在终端机输入 python 或 python3,启动的就是它。
  • Node.js 是 JavaScript 的运行环境。Node.js 官方的说明是:它是开源、跨平台的 JavaScript 运行环境,把 Google Chrome 内核的 V8 JavaScript 引擎拿到浏览器之外运行。所以原本只在网页里跑的 JavaScript,也能在你的电脑上读写文件、连网络、当服务器。

简单说:Python 和 Node.js 本身不是 AI,它们是 AI 工具的「地基」。一个用 Python 写的工具,没有 Python 就跑不起来;一个用 JavaScript 写的工具,没有 Node.js 也一样。

为什么 AI 工具常用这两个来发布?

除了编程语言本身,关键在套件(Package,别人写好、打包起来让你直接拿来用的代码)和套件管理工具(Package manager,负责下载、安装、更新、移除套件的程序)。

项目PythonNode.js
语言PythonJavaScript
运行程序的指令python、python3(Windows 常见 py)node
套件管理工具pipnpm(另有 npx 可以直接运行套件里的指令)
预设的套件来源Python Package Index(PyPI)npm registry
项目的套件清单常见 requirements.txtpackage.json
套件装在哪建议装进项目的虚拟环境(常见文件夹名称 .venv)项目底下的 node_modules 文件夹;加 -g 是全域安装
在本站会遇到的例子ComfyUI 这类本地 AI 程序,用 python -m pip install -r 装相依套件用 npm install -g 安装的终端机 AI 代理、用 npx 启动的 MCP 服务器

表格最后一列是本站整理的例子,不是官方分类。

这两个生态系的共同点是:一行指令就能把别人的工具连同它需要的所有套件一起装好。Python 的 pip 预设从 PyPI 下载套件;Node.js 官方说明 npm 是 Node.js 的标准套件管理工具。对开发者来说,把工具发布成套件是成本最低的发布方式之一,所以很多 AI 教学的第一步才会是「先装 Python」或「先装 Node.js」。

这里还有一个常见名词:相依套件(Dependency),指一个程序要正常运作、必须先装好的其他套件。Node.js 项目的相依套件写在 package.json 里,在项目文件夹运行 npm install,npm 就会把清单上的套件全部装进 node_modules。Python 项目常把清单写在 requirements.txt,用 python -m pip install -r requirements.txt 一次装好。

npm install 和 npx 的差别

很多 AI 教学会让你运行 npx 某个套件,而不是先 npm install。差别在于:

  • npm install:把套件下载并安装下来,之后重复使用。不加参数时装进目前项目的 node_modules;加 -g 是全域安装(装到整台电脑都能用的位置),npm 官方文档的建议是:要在命令行直接运行的工具装在全域,要在代码里引用的套件装在项目里。
  • npx:直接运行某个套件提供的指令。npm 官方文档说明,如果项目里没有这个套件,npx 会把它装到 npm 的缓存文件夹再运行,运行前会先询问你(加 --yes 就不问)。

例如 Claude Code 的官方文档说明,有些 MCP 服务器的设置说明会给你一行像 npx -y @example/mcp-server 的启动指令,代表这个服务器会在你的电脑上运行。这时你的电脑就需要 Node.js。也因为 npx 会下载并运行别人写的程序,请只运行你信任来源的套件,安全原则见 让 AI 代理安全操作电脑。

虚拟环境:让每个 Python 项目各用各的套件

虚拟环境(Virtual environment)是一个独立的文件夹,里面有一份 Python 和这个项目需要的套件,和其他项目、和系统本身的 Python 隔开。

为什么需要它?Python 官方教学举的例子是:A 程序需要某个套件的 1.0 版,B 程序需要 2.0 版,如果全部装在同一个 Python 里,不管装哪一版,都会有一个程序无法运行。给 A、B 各自一个虚拟环境,就互不影响。

Python 官方文档对虚拟环境的几个说明,对初学者特别实用:

  • 常见的文件夹名称是 .venv 或 venv,放在项目文件夹里。
  • 不要放进 Git 这类版本控制(版本控制的概念见 给 AI 用户的 Git 入门)。
  • 它是「用完可丢」的:应该能轻松删掉再重建,所以不要把自己的代码放在里面。
  • 不能搬移或拷贝:要换位置,就在新位置重建一个。重建时,用 requirements.txt 这类清单把套件装回来最方便。

「启动」(activate)虚拟环境,实际上做的事是把虚拟环境里放可执行文件的文件夹,加到 PATH 的最前面,所以之后输入 python 会找到虚拟环境里的那一份。官方文档也说明,启动不是必要的:直接用虚拟环境里 Python 的完整路径运行,效果一样。

怎么看出一份教学需要哪一个?

以下是本站整理的判断方法,不是官方标准:

  1. 先看工具的官方安装方式。如果有官方安装程序、桌面程序,或像 curl ... | bash 这种独立安装指令,通常不需要先装 Python 或 Node.js。例如 Claude Code 用官方安装指令就不需要 Node.js,只有改用 npm 安装时才需要。
  2. 看指令开头的字。python、python3、py、pip 是 Python;node、npm、npx 是 Node.js。
  3. 看项目里的文件。有 requirements.txt 或 .py 档,是 Python 项目;有 package.json,是 Node.js 项目。
  4. 看有没有自带运行环境。有些软件会把自己需要的 Python 一起打包,例如本站 ComfyUI 安装教学 里的可携版,指令用的是文件夹里自带的 python_embeded\python.exe,不是你电脑上另外装的 Python。

「找不到指令」等常见错误,先检查什么

这些指令都要在终端机(用文字输入指令来操作电脑的程序)里输入。终端机、路径、PATH 的基础概念,请先看 终端机基础。

你看到的状况可能的原因先试什么
终端机说找不到 python、node、npm 这类指令没有安装,或程序所在的文件夹不在 PATH 里开一个新的终端机窗口再试;用 python3 --version(Windows 用 py --version)或 node --version 确认
用 npm install -g 装好的工具,输入名称却找不到npm 放全域指令的文件夹不在 PATH 里依 npm 官方文档,确认全域安装的路径在 PATH 里
输入 python3 --version 出现 NameError你是在 Python 的交互模式(提示字符是 >>>)里输入,而不是在终端机先离开 Python 交互模式(输入 quit()),再到终端机输入
用 pip 安装时出现权限错误想把套件装进系统的 Python不要用系统管理员权限硬装,改创建虚拟环境再安装
明明装了套件,运行时却说找不到套件装到了另一份 Python(电脑上常不只一份)用 python -m pip 安装,确保 pip 和你运行的是同一份 Python;用虚拟环境时,确认已启动

最后一列的 python -m pip 写法,是 Python 官方教学一直使用的方式:-m 代表「用这一份 Python 运行 pip 模块」,所以套件一定会装进你正在用的那一份 Python。

接着看什么

常见问题

我只想用 AI 工具,不写程序,也一定要装 Python 或 Node.js 吗?

不一定。只要工具是用 Python 或 JavaScript 写的,而且你选择用 pip 或 npm 安装,就需要对应的运行环境;但不少工具另外提供官方安装程序或独立安装指令,例如 Claude Code 用官方安装指令就不需要 Node.js。先看工具的官方文档,再决定要不要装。

Python 和 Node.js 要两个都装吗?

看你要用的工具。它们是两个不同语言的运行环境,彼此不互相取代,也不冲突;只用到其中一种工具,就只装那一个。

什么是虚拟环境?一定要用吗?

虚拟环境是替单一项目准备的一个独立文件夹,里面有自己的 Python 和套件,不会和其他项目打架。Python 官方教学建议用它来解决「A 项目要旧版套件、B 项目要新版」的冲突;而且遇到权限错误时,官方安装指南建议改用虚拟环境,而不是用系统管理员权限硬装。

npm install 和 npx 有什么不一样?

npm install 是把套件下载、安装进项目(或用 -g 装到全域),之后可以重复使用。npx 是直接运行某个套件提供的指令;如果项目里没有那个套件,它会先问你,再把套件下载到 npm 的缓存文件夹里运行。

为什么明明装好了,终端机还是说找不到指令?

最常见的原因是那个程序所在的文件夹不在 PATH 里,或是你在安装前就开着的终端机窗口还没读到新的设置。先关掉终端机、开一个新窗口再试;用 npm 全域安装的指令,npm 官方文档也提醒要确认它的安装路径在 PATH 里。

可以把 .venv 或 node_modules 文件夹拷贝到别台电脑,或放进 Git 吗?

不建议。Python 官方文档说明虚拟环境不该放进 Git 这类版本控制,也不适合搬移或拷贝,要用 requirements.txt 这类清单在新位置重建;Node.js 项目也是同样的道理,保留 package.json,到新位置再用 npm install 装回来。

留言

用 GitHub 账号登录就能留言,留言会公开显示在 GitHub Discussions。留言前请先看社区规则。

从这里开始