要点速览
因为很多 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,负责下载、安装、更新、移除套件的程序)。
| 项目 | Python | Node.js |
|---|---|---|
| 语言 | Python | JavaScript |
| 运行程序的指令 | python、python3(Windows 常见 py) | node |
| 套件管理工具 | pip | npm(另有 npx 可以直接运行套件里的指令) |
| 预设的套件来源 | Python Package Index(PyPI) | npm registry |
| 项目的套件清单 | 常见 requirements.txt | package.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 的完整路径运行,效果一样。
怎么看出一份教学需要哪一个?
以下是本站整理的判断方法,不是官方标准:
- 先看工具的官方安装方式。如果有官方安装程序、桌面程序,或像
curl ... | bash这种独立安装指令,通常不需要先装 Python 或 Node.js。例如 Claude Code 用官方安装指令就不需要 Node.js,只有改用 npm 安装时才需要。 - 看指令开头的字。
python、python3、py、pip是 Python;node、npm、npx是 Node.js。 - 看项目里的文件。有
requirements.txt或.py档,是 Python 项目;有package.json,是 Node.js 项目。 - 看有没有自带运行环境。有些软件会把自己需要的 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 用户的 Git 入门
- 想知道 npx 启动的 MCP 服务器是什么:MCP 是什么
- 让 AI 代理帮你运行安装指令前,先读:让 AI 代理安全操作电脑
- 名词不熟:到 名词小辞典 查,例如 Python、Node.js、套件管理工具、虚拟环境、PATH。
常见问题
我只想用 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。留言前请先看社区规则。