Node.js + Python 混合 AI 项目环境配置教程
从零搭建前端、后端、AI 服务、环境变量与本地联调的一体化开发环境

分类:保姆级教程 / AI下载教程 / 环境配置教程 / 安装部署教程
文章摘要
这是一篇面向新手和内容站读者的 Node.js + Python 混合 AI 项目环境配置教程。文章从工具分工讲起,带你完成 Node.js、Python、VS Code、Git、虚拟环境、环境变量、前后端联调、FastAPI/Express/Vite 基础工程和常见问题排查。适合准备开发 AI 聊天应用、RAG 知识库、自动化后台、模型 API 封装工具、企业内部 AI 助手的读者。
核心思路很简单:Node.js 负责界面、路由、构建、账号体系与工程化脚本;Python 负责模型调用、向量检索、数据处理、AI 算法与实验脚本。两边不要混装依赖,而是通过 API、环境变量和统一启动命令连接。
封面图

为什么 AI 项目常常需要 Node.js + Python
很多 AI 项目不是单纯的 Python 脚本,也不是单纯的前端页面。一个可用的 AI 应用通常至少包含界面、用户输入、接口服务、模型调用、文件处理、日志记录、密钥管理和部署脚本。Node.js 与 Python 的组合正好覆盖这些需求。
- Node.js 更适合做 Web 前端工程化、API 网关、轻量服务、任务编排和前端构建。
- Python 更适合做模型调用、数据处理、RAG、Embedding、向量检索、机器学习实验和 AI 后端服务。
- 混合项目的关键不是“两个语言都装上”,而是把依赖、目录、启动命令、环境变量和接口边界规划清楚。
- 新手最容易踩坑的是把 Python 包装进全局环境、把 API Key 写进代码、前后端端口乱用、VS Code 解释器选错。
安装前先确认:你到底要搭哪种项目
适合使用混合环境的项目
- AI 聊天网页:前端用 React/Vue,后端用 Python 调模型。
- RAG 知识库:Node 负责上传与用户界面,Python 负责切分、Embedding、检索和回答。
- 自动化办公工具:Node 负责任务面板和工作流触发,Python 负责 Excel、PDF、OCR、LLM 数据处理。
- AI 插件或内部工具:Node 负责扩展、CLI 或 Web 服务,Python 负责 AI 能力封装。
- 本地模型应用:Node 做可视化入口,Python 接 Ollama、vLLM、Transformers 或向量库。
不建议混合的情况
- 只是写一个 Python 爬虫或数据分析脚本:只装 Python + venv 即可。
- 只是做纯前端页面:Node.js + Vite 就够了。
- 只是调用一个云端 API 的极简脚本:可以只用一种语言,避免增加维护成本。
环境配置总流程图

推荐版本与工具清单
版本选择原则:优先选择官方 LTS 或稳定版,不盲目追最新;AI 项目中 Python 包生态常常比语言本身更新慢,所以生产项目建议使用 Python 3.11/3.12/3.13 中兼容性更好的版本,除非依赖已经明确支持最新版本。
| 工具 | 推荐选择 | 作用 | 验证命令 |
| Node.js | LTS 版本 | 运行前端、Express、构建工具、npm 脚本 | node -v / npm -v |
| Python | 稳定版,AI 项目建议先看依赖兼容 | 运行模型调用、RAG、数据处理、FastAPI | python –version / pip –version |
| Git | 最新稳定版 | 版本管理、克隆项目、提交代码 | git –version |
| VS Code | 最新版 | 统一编辑器、终端、调试、解释器选择 | code –version |
| venv | Python 标准库 | 隔离 Python 项目依赖 | python -m venv .venv |
| npm / pnpm | 新手先 npm,项目大可 pnpm | 安装 Node 依赖、运行脚本、前端构建 | npm -v / pnpm -v |
| FastAPI | Python AI API 服务 | 封装模型调用接口 | uvicorn app.main:app –reload |
| Express / Vite | Node Web 服务/前端脚手架 | 创建 Web 页面或轻量 API | npm run dev |
Node.js 与 Python 的分工图

第一步:安装 Node.js
Windows / macOS 安装方式
- 打开 Node.js 官方下载页。
- 选择 LTS 版本,不建议新手直接安装 Current 版本。
- Windows 使用 .msi 安装包,安装时勾选 npm。
- macOS 可用官方 .pkg,也可以用 Homebrew 安装。
- 安装完成后重新打开终端,避免 PATH 没刷新。
node -v
npm -v
npx -v
Linux / 服务器安装建议
Linux 服务器不建议直接使用系统仓库里非常旧的 Node.js。更推荐通过 NodeSource、nvm、fnm 或官方包管理方式安装 LTS 版本。团队项目建议把 Node 版本写进 README 或 .nvmrc,避免每个人版本不一致。
# 示例:查看当前版本
node -v
npm -v
# 项目中可写入 .nvmrc
24
第二步:安装 Python
Windows 安装重点
- 打开 Python 官方下载页,下载 Windows 64-bit 安装包。
- 安装第一页务必勾选 Add python.exe to PATH。
- 安装完成后打开新的 PowerShell 或 CMD。
- 推荐使用 py 启动器查看安装的 Python 版本。
python –version
py –version
py -0p
pip –version
macOS / Linux 安装重点
macOS 可以使用官方安装包或 Homebrew。Linux 服务器一般自带 Python,但系统 Python 不建议直接用于项目依赖安装;应创建虚拟环境或使用 conda/uv 等工具管理项目环境。
python3 –version
python3 -m pip –version
python3 -m venv .venv
第三步:安装 Git 与 VS Code
Git 需要配置用户名和邮箱
git –version
git config –global user.name “你的名字”
git config –global user.email “[email protected]”
git config –global init.defaultBranch main
VS Code 必装插件
| 插件 | 用途 | 新手建议 |
| Python | 解释器选择、运行、调试、环境识别 | 必装 |
| Pylance | Python 类型提示与智能补全 | 必装 |
| Jupyter | Notebook 实验与数据分析 | AI 实验推荐 |
| ESLint | JavaScript/TypeScript 代码检查 | 前端项目推荐 |
| Prettier | 前端格式化 | 前端项目推荐 |
| GitHub Copilot / Cline / Continue | AI 编程辅助 | 任选其一或按预算选择 |
| REST Client / Thunder Client | 测试接口 | API 联调推荐 |
第四步:创建推荐项目目录
混合项目最重要的是目录清晰。下面是一套适合新手、也方便后期扩展的结构。
ai-mixed-project/
├─ frontend/ # Node.js 前端或管理台
│ ├─ package.json
│ └─ src/
├─ backend/ # Python AI 后端
│ ├─ app/
│ │ ├─ main.py
│ │ └─ services/
│ ├─ requirements.txt
│ └─ .venv/
├─ shared/ # 共享接口说明、示例数据、schema
├─ docs/ # 项目文档
├─ .env.example # 环境变量模板,可提交
├─ .gitignore # 忽略 .env、.venv、node_modules
└─ README.md
推荐 .gitignore
# Python
.venv/
__pycache__/
*.pyc
.ipynb_checkpoints/
# Node
node_modules/
dist/
.next/
# Secrets
.env
.env.local
# OS / Editor
.DS_Store
.vscode/*.log
第五步:配置 Node.js 前端或服务层
路线 A:用 Vite 创建前端
如果你的项目需要聊天界面、上传页面、配置面板或后台管理,可以先用 Vite 创建前端项目。
mkdir ai-mixed-project
cd ai-mixed-project
npm create vite@latest frontend
cd frontend
npm install
npm run dev
路线 B:用 Express 创建轻量 API 网关
如果你只想让 Node.js 负责鉴权、日志、请求转发或接入企业系统,可以创建一个 Express 服务,然后把 AI 请求转发到 Python 后端。
mkdir node-api
cd node-api
npm init -y
npm install express cors dotenv
# package.json 中添加脚本
# “scripts”: { “dev”: “node app.js” }
// app.js
import express from “express”;
import cors from “cors”;
const app = express();
app.use(cors());
app.use(express.json());
app.get(“/health”, (req, res) => {
res.json({ ok: true, service: “node-api” });
});
app.listen(3000, () => console.log(“Node API: http://localhost:3000”));
第六步:配置 Python AI 后端
创建虚拟环境
cd ai-mixed-project
mkdir backend
cd backend
python -m venv .venv
# Windows PowerShell
.venv\Scripts\Activate.ps1
# macOS / Linux
source .venv/bin/activate
python -m pip install –upgrade pip
安装 FastAPI 与基础依赖
pip install fastapi uvicorn python-dotenv requests
pip freeze > requirements.txt
创建最小可运行 AI API
# backend/app/main.py
from fastapi import FastAPI
from pydantic import BaseModel
app = FastAPI(title=”Python AI Backend”)
class ChatRequest(BaseModel):
message: str
@app.get(“/health”)
def health():
return {“ok”: True, “service”: “python-ai”}
@app.post(“/chat”)
def chat(req: ChatRequest):
# 这里可替换为 OpenAI、DeepSeek、Ollama、RAG 等模型调用
return {“reply”: f”收到:{req.message}”}
uvicorn app.main:app –reload –host 127.0.0.1 –port 8000
启动后访问 http://127.0.0.1:8000/docs,可以看到 FastAPI 自动生成的接口调试页面。
第七步:统一环境变量和 API Key
AI 项目一定不要把 API Key、数据库密码、模型服务地址写死在代码里。推荐创建 .env.example 作为模板,真正的 .env 文件不提交到 Git。
.env.example 示例
# 根目录 .env.example
OPENAI_API_KEY=替换为你的密钥
DEEPSEEK_API_KEY=替换为你的密钥
PYTHON_API_BASE=http://127.0.0.1:8000
NODE_PORT=3000
PYTHON_PORT=8000
Python 读取环境变量
from dotenv import load_dotenv
import os
load_dotenv()
api_key = os.getenv(“OPENAI_API_KEY”)
Node.js 读取环境变量
import “dotenv/config”;
const pythonApiBase = process.env.PYTHON_API_BASE || “http://127.0.0.1:8000”;
第八步:前后端联调
推荐端口规划
| 服务 | 推荐端口 | 说明 |
| Vite 前端 | 5173 | 浏览器访问页面 |
| Node API | 3000 | 用户入口、鉴权、日志、代理 |
| Python AI API | 8000 | 模型调用、RAG、数据处理 |
| Ollama | 11434 | 本地模型 API,可选 |
| 向量数据库 | 6333 / 8001 等 | 取决于 Qdrant、Chroma、Milvus 等服务 |
Node 转发到 Python 示例
// Node app.js 中增加代理接口
app.post(“/api/chat”, async (req, res) => {
const response = await fetch(“http://127.0.0.1:8000/chat”, {
method: “POST”,
headers: { “Content-Type”: “application/json” },
body: JSON.stringify(req.body),
});
const data = await response.json();
res.json(data);
});
前端请求 Node API 示例
const res = await fetch(“http://localhost:3000/api/chat”, {
method: “POST”,
headers: { “Content-Type”: “application/json” },
body: JSON.stringify({ message: “你好,帮我总结这段文字” }),
});
const data = await res.json();
console.log(data.reply);
推荐架构图

第九步:配置 VS Code 工作区
选择 Python 解释器
- 打开项目根目录 ai-mixed-project。
- 按 Ctrl+Shift+P / Cmd+Shift+P。
- 输入 Python: Select Interpreter。
- 选择 backend/.venv 对应的 Python 解释器。
- 确认 VS Code 终端中运行 python –version 与 .venv 一致。
推荐 .vscode/settings.json
{
“python.defaultInterpreterPath”: “backend/.venv/bin/python”,
“python.terminal.activateEnvironment”: true,
“editor.formatOnSave”: true,
“files.exclude”: {
“**/__pycache__”: true,
“**/.venv”: true,
“**/node_modules”: true
}
}
Windows 用户需要把解释器路径改为 backend\.venv\Scripts\python.exe。
第十步:用脚本统一启动项目
新手项目最容易乱在“每次不知道先启动哪个服务”。建议在 README 中写明两个终端的启动顺序,也可以在根目录准备脚本。
两个终端启动法
# 终端 1:启动 Python AI 后端
cd backend
source .venv/bin/activate
uvicorn app.main:app –reload –port 8000
# 终端 2:启动 Node 前端或 API
cd frontend
npm run dev
package.json 统一脚本思路
进阶项目可以在根目录使用 concurrently、pnpm workspace 或 Docker Compose 来统一启动。新手阶段建议先把两个服务跑通,再做自动化编排。
npm install -D concurrently
# package.json
{
“scripts”: {
“dev”: “concurrently “npm –prefix frontend run dev” “cd backend && uvicorn app.main:app –reload –port 8000″”
}
}
第十一步:AI 依赖怎么装才不乱
Python 侧依赖
- 模型 API:openai、requests、httpx。
- Web API:fastapi、uvicorn。
- 数据处理:pandas、numpy、openpyxl。
- RAG:sentence-transformers、langchain、llama-index、chromadb 或 qdrant-client。
- 本地模型:ollama、transformers、torch,按项目需求安装。
Node 侧依赖
- 前端:vite、react、vue、tailwindcss。
- 服务:express、cors、dotenv。
- 请求:fetch 原生可用,复杂项目可用 axios。
- 工程化:eslint、prettier、concurrently、tsx。
建议把 Python 与 Node 的依赖分别锁定:Python 用 requirements.txt 或 pyproject.toml,Node 用 package.json 与 lock 文件。不要把所有依赖都写在一个文档里,更不要手动复制别人电脑里的环境。
第十二步:Docker 可选方案
当项目进入团队协作或服务器部署阶段,可以把 Node 与 Python 分别做成容器。新手本地开发不必一开始就 Docker 化,但一定要提前把端口、环境变量和依赖文件整理清楚。
Docker Compose 思路
services:
frontend:
build: ./frontend
ports:
– “5173:5173”
env_file: .env
backend:
build: ./backend
ports:
– “8000:8000”
env_file: .env
如果项目需要 GPU、本地模型、向量数据库、Redis、PostgreSQL,再逐步加入对应服务,不建议一次性把所有组件堆上去。
常见问题排查图

常见报错与解决办法
| 问题 | 原因 | 解决办法 |
| node 不是内部命令 | Node 未加入 PATH 或终端未刷新 | 重启终端;重新安装 Node LTS;检查 PATH。 |
| npm install 很慢 | 网络源慢或缓存异常 | 切换镜像源;清理 npm cache;优先使用 lock 文件。 |
| python 指向系统版本 | PATH 顺序或 VS Code 解释器选择错误 | 使用 py -0p 查看;选择 .venv 解释器。 |
| pip 装到全局环境 | 没有激活虚拟环境 | 先激活 .venv,再执行 python -m pip install。 |
| 前端请求后端失败 | 端口错、CORS、代理地址错误 | 检查 3000/8000/5173 端口;配置 cors;统一 API_BASE。 |
| API Key 暴露 | .env 被提交或写入代码 | 立即删除 Git 历史中的密钥,重新生成 Key,加入 .gitignore。 |
| 模型调用很慢 | 网络、模型过大、同步阻塞 | 开启流式输出,做异步任务,减小模型或改用本地服务。 |
| VS Code 无法识别包 | 解释器不是当前 .venv | Python: Select Interpreter 重新选择 backend/.venv。 |
新手最佳实践清单
- 一个项目一个 Python 虚拟环境,不要把 AI 包装进全局 Python。
- 一个 Node 项目一个 package.json,不要手动复制 node_modules。
- 所有密钥都放到 .env,提交 .env.example。
- README 中写明安装命令、启动命令、端口、接口地址。
- 先跑通 health 接口,再接模型;先本地模拟回答,再接真实 LLM。
- 先用简单目录结构,不要一开始就引入过度复杂的 monorepo、Docker、消息队列。
- 遇到报错先看版本和路径:node -v、python –version、which python、where python、npm -v。
可直接复制的 README 模板
# Node.js + Python 混合 AI 项目
## 1. 环境要求
– Node.js LTS
– Python 3.11+
– Git
– VS Code
## 2. 启动 Python AI 后端
cd backend
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
uvicorn app.main:app –reload –port 8000
## 3. 启动 Node 前端
cd frontend
npm install
npm run dev
## 4. 访问地址
– 前端:http://localhost:5173
– Python API:http://127.0.0.1:8000/docs
## 5. 环境变量
复制 .env.example 为 .env,并填写 API Key。
FAQ
Node.js 和 Python 必须都装吗?
如果项目同时包含 Web 前端、接口服务和 AI 模型能力,建议都装。如果只是简单 Python 脚本,没必要安装 Node.js。
Python 版本越新越好吗?
不一定。AI 项目更看重依赖兼容性。建议先查看 PyTorch、TensorFlow、LangChain、向量库等依赖支持的版本。
npm、pnpm、yarn 怎么选?
新手先用 npm,因为随 Node.js 自带;项目依赖多或 monorepo 场景可以考虑 pnpm。
venv 和 conda 怎么选?
纯 Python Web/API 项目优先 venv;需要复杂科学计算、CUDA、跨平台二进制包时可以考虑 conda。
前端可以直接调用 Python API 吗?
可以,但实际项目更建议通过 Node 服务或统一 API 网关处理鉴权、日志、限流和跨域。
为什么本地能跑,服务器跑不起来?
通常是环境变量、端口、路径、Python/Node 版本或依赖锁定不一致。先检查 README、lock 文件和 .env。
API Key 可以写在前端代码里吗?
不可以。前端代码会被用户看到,Key 应放在后端环境变量中。
需要 Docker 吗?
新手阶段不强制。等项目要部署、多人协作或依赖复杂后,再使用 Docker Compose 固化环境。
官方参考来源
- Node.js 官方下载页:https://nodejs.org/en/download
- Node.js 发布与 LTS 信息:https://nodejs.org/en/about/previous-releases
- Python 官方下载页:https://www.python.org/downloads/
- Python venv 官方文档:https://docs.python.org/3/library/venv.html
- Python Packaging User Guide:https://packaging.python.org/guides/installing-using-pip-and-virtual-environments/
- VS Code Python 环境文档:https://code.visualstudio.com/docs/python/environments
- Vite 官方指南:https://vite.dev/guide/
- Express 官方安装文档:https://expressjs.com/en/starter/installing.html
- FastAPI 官方文档:https://fastapi.tiangolo.com/
- Node.js 环境变量文档:https://nodejs.org/api/environment_variables.html
- python-dotenv 项目页:https://pypi.org/project/python-dotenv/