为什么是这两个
在 AI Coding 的语境里,你会不断碰到这两个运行时:
- Node.js:Claude Code 本身用 Node.js 运行;大量前端工具(Webpack、Vite、TypeScript 编译器)也需要它
- Python:AI / 机器学习生态几乎全在 Python;很多 Claude Code 生成的脚本也是 Python
两者都需要,没有谁能替代谁。好消息是:安装和日常使用都不复杂。
| Node.js | Python | |
|---|---|---|
| 主要用途 | 前端工具链、后端服务、CLI 工具 | AI/ML、数据分析、脚本、后端服务 |
| 包管理器 | npm(或 yarn、pnpm) | pip(或 conda、uv) |
| 依赖文件 | package.json | requirements.txt 或 pyproject.toml |
| 隔离环境 | node_modules(项目级) | venv 虚拟环境 |
Node.js 是什么
简单说:Node.js 让 JavaScript 能在浏览器之外运行(比如在你的终端里、服务器上)。
你不需要深入学 Node.js 本身,但你需要它在你的电脑上装好、能运行,因为:
- Claude Code 是一个 Node.js 程序,通过
npm install -g @anthropic-ai/claude-code安装 - 几乎所有现代前端框架(React、Vue、Next.js)的开发工具都依赖 Node.js
- 很多实用 CLI 工具(比如
prettier、typescript)也通过 npm 安装
安装 Node.js
推荐通过 nvm(Node Version Manager) 来安装,而不是直接 apt install nodejs。原因是 nvm 可以方便地切换 Node 版本,避免很多兼容性问题。
安装 nvm
$ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
安装完后关闭并重新打开终端,或者运行:
$ source ~/.bashrc
用 nvm 安装 Node.js LTS 版本
# LTS 是长期支持版本,稳定,推荐
$ nvm install --lts
$ nvm use --lts
验证安装
$ node --version
v22.11.0
$ npm --version
10.9.0
看到版本号就说明成功了。
npm 基础用法
npm(Node Package Manager)是 Node.js 的包管理器,安装 Node 时自带。
# 全局安装一个工具(在任何地方都能用)
$ npm install -g @anthropic-ai/claude-code
# 在当前项目里安装依赖
$ npm install
# 在项目里安装某个包
$ npm install express
# 安装开发依赖(只在开发时用,打包时不包含)
$ npm install --save-dev typescript
# 卸载某个包
$ npm uninstall package-name
# 查看全局安装的包
$ npm list -g --depth=0
# 更新某个包
$ npm update package-name
package.json 是什么
每个 Node.js 项目根目录都有一个 package.json,它记录了这个项目的基本信息和所有依赖:
{
"name": "my-project",
"version": "1.0.0",
"scripts": {
"start": "node index.js",
"dev": "nodemon index.js"
},
"dependencies": {
"express": "^4.18.2"
},
"devDependencies": {
"typescript": "^5.0.0"
}
}
当你从 GitHub 克隆一个项目时,先运行 npm install,它会读取 package.json 并自动安装所有依赖。
node_modules 文件夹(依赖安装的地方)通常很大,不要上传到 Git。正常的项目都会在 .gitignore 里排除它。
Python 是什么
Python 是目前 AI / 数据科学领域的第一语言。几乎所有大模型、机器学习框架(PyTorch、TensorFlow、scikit-learn)都以 Python 为主要接口。
对于日常使用,你有两种主流选择:官方 Python 或 Conda。
两种安装方式
方式一:官方 Python(推荐新手)
Ubuntu / WSL 一般自带 Python 3,直接用就行。只需补充安装包管理器 pip:
# 检查 Python 版本
$ python3 --version
Python 3.10.12
# 安装 pip(Python 的包管理器)
$ sudo apt install python3-pip
# 验证 pip 安装成功
$ pip3 --version
pip 22.0.2
命令说明:python3 是 Python 3 解释器,pip3 是对应的包管理器。在某些系统上 python 可能指向旧版 Python 2,所以明确用 python3 更保险。
方式二:Conda(适合做数据科学 / AI)
Conda 不只是 Python 包管理器,它还能管理 Python 版本、创建隔离环境、安装非 Python 依赖(比如 CUDA)。如果你要做深度学习,Conda 会更方便。
# 下载 Miniconda(轻量版 Conda)
$ wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
# 安装
$ bash Miniconda3-latest-Linux-x86_64.sh
# 重启终端或刷新环境
$ source ~/.bashrc
# 验证安装
$ conda --version
conda 24.1.2
| 官方 Python + pip | Conda | |
|---|---|---|
| 优点 | 轻量、系统自带、简单直接 | 环境管理强大、适合科学计算、能装非 Python 包 |
| 缺点 | 环境隔离需手动创建 venv | 体积大、有时包版本更新慢 |
| 适合场景 | Web 开发、脚本、通用编程 | 数据科学、机器学习、深度学习 |
建议:如果你不确定选哪个,先用系统自带的 Python + pip。等真正需要做深度学习项目时,再考虑 Conda。两者可以共存,但别混用。
pip 基础用法
pip 是 Python 的包管理器,用法和 npm 类似:
# 安装单个包
$ pip install requests
# 一次安装多个包
$ pip install numpy pandas matplotlib
# 安装指定版本(== 表示精确匹配)
$ pip install flask==2.3.0
# 安装版本范围(>= 表示大于等于)
$ pip install django>=4.0
# 卸载包
$ pip uninstall requests
# 查看已安装的所有包
$ pip list
# 查看某个包的详细信息
$ pip show flask
# 升级某个包到最新版
$ pip install --upgrade numpy
# 导出当前环境的所有依赖(freeze = 冻结当前状态)
$ pip freeze > requirements.txt
# 根据 requirements.txt 安装所有依赖(-r = read from file)
$ pip install -r requirements.txt
参数说明:
-r requirements.txt:从文件读取依赖列表--upgrade:升级已安装的包pip freeze:输出格式为package==version,适合写入文件pip list:人类可读的表格格式
虚拟环境:什么时候需要
一般情况下,直接用系统 Python 就够了。不必每个项目都建虚拟环境,除非遇到以下情况:
- 版本冲突:项目 A 需要 Django 3,项目 B 需要 Django 4
- 生产部署:需要精确复现依赖环境
- 实验性项目:怕装乱了影响系统环境
如果只是写点小脚本、跑个 AI 模型、学习用,直接 pip install 到系统就行,别给自己找麻烦。
需要隔离时:创建虚拟环境
# 先安装 venv 模块(Ubuntu 需要单独装)
$ sudo apt install python3-venv
# 在项目目录里创建虚拟环境(.venv 是约定俗成的名字)
$ python3 -m venv .venv
# 解释:-m venv 表示运行 venv 模块,.venv 是环境目录名
# 激活虚拟环境(Linux / macOS)
$ source .venv/bin/activate
# 激活后,提示符前面会出现 (.venv) 标志
(.venv) $ python --version
Python 3.10.12
# 现在安装的包只会进这个虚拟环境,不影响系统
(.venv) $ pip install flask
# 退出虚拟环境
(.venv) $ deactivate
虚拟环境目录(.venv/)不要上传 Git,把它加入 .gitignore。用 requirements.txt 记录依赖,别人拿到项目后自己 pip install -r requirements.txt 就能复现环境。
Conda 环境管理(如果你用 Conda)
# 创建新环境并指定 Python 版本
$ conda create -n myproject python=3.10
# 激活环境
$ conda activate myproject
# 安装包(优先用 conda install,没有再用 pip)
(myproject) $ conda install numpy pandas
(myproject) $ pip install some-package
# 导出环境
(myproject) $ conda env export > environment.yml
# 退出环境
(myproject) $ conda deactivate
实用建议:日常写代码、跑 AI 模型,直接用系统 Python。只有在需要严格隔离、或者项目 README 明确要求虚拟环境时,再创建。别被教程吓唬——虚拟环境是工具,不是必需品。
实战:拿到一个项目,怎么跑起来
Node.js 项目
$ git clone https://github.com/xxx/project.git
$ cd project
安装依赖:
$ npm install
看 package.json 里的 scripts,通常是:
$ npm run dev # 开发模式
$ npm start # 生产模式
$ npm run build # 构建
Python 项目
$ git clone https://github.com/xxx/project.git
$ cd project
创建并激活虚拟环境:
$ python3 -m venv .venv
$ source .venv/bin/activate
安装依赖:
$ pip install -r requirements.txt
运行:看 README 或直接:
$ python main.py
# 或
$ python app.py
下一步
Node 和 Python 都就位了。下一篇是 Git 和 GitHub——当你用 Claude Code 开发时,版本控制是不可缺少的,你需要知道怎么保存工作、在不同版本之间切换、以及和别人协作。