找回密码
立即注册
搜索
发回帖 发新帖

5290

积分

0

好友

679

主题
发表于 1 小时前 | 查看: 6| 回复: 0

AI 工程环境搭建教程封面:Python、Node.js、Rust 与 PyTorch 配置大纲

环境搭建是 AI 工程学习的第一步。与其在后续开发中反复排查依赖冲突、版本不兼容和 GPU 无法使用等问题,不如从一开始就建立一套规范、稳定、可复现的开发环境。

一、为什么要重视开发环境?

在 AI 工程开发过程中,我们经常会遇到以下问题:

  • Python 包安装成功,但运行程序时提示 ModuleNotFoundError。
  • 不同项目依赖不同版本的库,升级一个项目后,另一个项目无法正常运行。
  • Node.js 版本不符合项目要求,导致前端项目启动失败。
  • Rust 程序缺少编译工具,无法正常构建。
  • PyTorch 已经安装,但无法识别 NVIDIA GPU。
  • 本地开发环境运行正常,换一台机器后却出现各种问题。

这些问题看起来各不相同,但很多时候都与开发环境的配置和依赖管理有关。

对于 AI 工程而言,开发环境不仅包含编程语言,还涉及操作系统、包管理器、运行时、系统依赖以及 GPU 驱动等多个部分。因此,搭建环境不能只关注某个软件是否安装成功,更重要的是保证整个技术栈能够协同工作。

本文将从系统基础开始,逐步完成 Python、Node.js、Rust 和 PyTorch 的环境配置,并介绍如何通过验证脚本检查环境是否满足学习要求。

二、理解 AI 工程环境的四层架构

在正式安装之前,先了解开发环境的整体结构。可以将 AI 工程环境划分为四层:

┌────────────────────────────────────┐
│          第四层:AI/ML 库           │
│      PyTorch、JAX、Transformers    │
├────────────────────────────────────┤
│          第三层:语言运行时         │
│       Python、Node.js、Rust        │
├────────────────────────────────────┤
│          第二层:包管理器           │
│          uv、pnpm、Cargo           │
├────────────────────────────────────┤
│          第一层:系统基础           │
│  操作系统、Shell、Git、GPU 驱动     │
└────────────────────────────────────┘

1. 系统基础

系统基础是整个开发环境的底座,主要包括:

  • 操作系统:Linux、Windows、macOS。
  • Shell:Bash、Zsh、PowerShell。
  • 基础工具:Git、curl、wget、unzip。
  • 编译工具:GCC、Clang 等。
  • GPU 驱动:NVIDIA 驱动及 Apple GPU 相关支持。

2. 包管理器

包管理器负责软件安装、依赖解析和版本管理。

工具 主要用途
uv Python 环境及依赖管理
pnpm Node.js 项目依赖管理
Cargo Rust 项目依赖管理和构建
Julia Pkg Julia 包管理

3. 语言运行时

不同类型的项目需要不同的语言运行环境。

  • Python:机器学习、深度学习、数据处理和 LLM 开发。
  • Node.js:TypeScript、Web 应用、Agent 和 MCP 服务。
  • Rust:高性能系统、推理组件和基础设施。
  • Julia:数学计算和科学计算。

4. AI/ML 库

最上层是实际开发中使用的框架和库,例如 PyTorch、JAX、Transformers 和 NumPy。

这里有一个非常重要的排错原则:从底层向上检查。例如,执行 import torch 失败,不一定是 PyTorch 本身的问题,也可能是 Python 版本不正确、虚拟环境没有激活,或者依赖安装到了其他目录。理解这一点,可以避免很多无效排查。

三、安装系统基础工具

本文主要以 Ubuntu/Debian Linux 为例进行演示。首先更新软件包索引,并安装基础工具:

sudo apt update

sudo apt install -y \
  build-essential \
  git \
  curl \
  wget \
  unzip

各工具的用途如下:

  • build-essential:安装常见编译工具。
  • git:进行代码版本管理。
  • curl:下载文件及访问 HTTP/HTTPS 接口。
  • wget:下载网络资源。
  • unzip:解压 ZIP 文件。

安装完成后,可以执行以下命令检查:

git --version
curl --version
wget --version
unzip -v

如果这些命令能够正常执行,说明基础工具已经具备。

Windows 用户也可以使用 WSL2 搭建 Linux 开发环境:

wsl --install -d Ubuntu-24.04

macOS 用户则可以使用 Homebrew 安装相关工具。

四、使用 uv 搭建 Python 开发环境

Python 是 AI 工程中最常用的编程语言之一。在实际项目中,不同项目往往依赖不同版本的 Python 包。如果直接使用系统 Python 安装所有依赖,很容易出现版本冲突。因此,推荐为每个项目创建独立的虚拟环境。

1. 安装 uv

uv 是一个用于 Python 版本、虚拟环境和依赖管理的工具。在 Linux 或 macOS 中执行:

curl -LsSf https://astral.sh/uv/install.sh | sh

安装完成后,检查版本:

uv --version

如果提示找不到命令,可以根据安装程序提示重新加载 Shell 环境或配置 PATH。

2. 安装 Python

使用 uv 安装 Python 3.12:

uv python install 3.12

查看已安装的 Python 版本:

uv python list

本文选择 Python 3.12,满足学习要求的 Python 3.11+。

3. 创建虚拟环境

先创建项目目录:

mkdir ai-env-demo
cd ai-env-demo

创建虚拟环境:

uv venv --python 3.12

Linux/macOS 激活环境:

source .venv/bin/activate

Windows PowerShell 激活环境:

.venv\Scripts\Activate.ps1

检查 Python 版本和执行路径:

python --version

python -c "import sys; print(sys.executable)"

如果输出路径指向当前项目的 .venv 目录,说明当前使用的是项目虚拟环境。

4. 安装 Python 依赖

安装 NumPy、Matplotlib 和 Jupyter:

uv pip install numpy matplotlib jupyter

验证 NumPy 是否能够正常使用:

import sys
import numpy as np

print(f"Python: {sys.version}")
print(f"NumPy: {np.__version__}")

a = np.array([1, 2, 3])

print(f"Vector: {a}")
print(f"Dot product: {np.dot(a, a)}")

预期结果:

Vector: [1 2 3]
Dot product: 14

其中,点积的计算过程为:

1 × 1 + 2 × 2 + 3 × 3 = 14

这个简单的例子可以验证 Python 是否能够正常导入 NumPy 并执行数值计算。

Python 虚拟环境中 NumPy 版本验证与向量点积计算结果

5. 如何保证 Python 环境可复现?

仅创建虚拟环境并不意味着依赖已经锁定。对于需要长期维护的项目,可以使用 pyproject.toml 描述依赖,并使用 uv 生成锁文件:

uv init
uv add numpy matplotlib jupyter
uv lock

在其他环境中,可以执行:

uv sync

根据项目配置和锁文件同步依赖。这样做的好处是:当项目迁移到另一台服务器,或者交给其他开发人员时,可以更方便地恢复相同的依赖环境。

五、安装 Node.js 并使用 pnpm 管理依赖

Node.js 常用于 TypeScript 项目、Web 应用、Agent 和 MCP 服务端开发。

1. 安装 fnm

fnm 是一个 Node.js 版本管理工具,可以方便地切换不同版本。执行:

curl -fsSL https://fnm.vercel.app/install | bash

安装完成后,按照安装程序的提示配置 Shell 环境。例如,在支持 Bash 配置的环境中,可以使用:

eval "$(fnm env --use-on-cd)"

如果当前终端仍然无法识别 fnm,需要检查 PATH 配置,并重新打开终端。

2. 安装 Node.js

安装 Node.js 22:

fnm install 22
fnm use 22

验证:

node --version
npm --version

本文选择 Node.js 22,满足学习要求的 Node.js 20+。

3. 安装 pnpm

使用 npm 安装 pnpm:

npm install -g pnpm

验证:

pnpm --version

在实际项目中,应当提交 package.json 和 pnpm-lock.yaml 等项目文件。在 CI/CD 构建环境中,可以使用:

pnpm install --frozen-lockfile

确保安装过程遵循已有锁文件,避免构建时随意改变依赖版本。

六、安装 Rust 工具链

Rust 适用于高性能组件、系统开发和部分 AI 基础设施场景。

1. 安装 rustup

在 Linux/macOS 中执行:

curl --proto '=https' --tlsv1.2 -sSf \
https://sh.rustup.rs | sh

根据安装程序提示完成安装。如果当前终端无法识别 Rust 命令,可以执行:

source "$HOME/.cargo/env"

2. 验证安装

rustc --version
cargo --version

其中:

  • rustc 是 Rust 编译器。
  • cargo 是 Rust 的构建和依赖管理工具。

3. 运行一个简单程序

创建 main.rs:

fn main() {
    println!("Hello, AI Engineering!");
}

编译并执行:

rustc main.rs -o hello
./hello

如果正常输出:

Hello, AI Engineering!

说明 Rust 编译器已经能够正常编译并执行基础程序。

七、配置 PyTorch 与 GPU 环境

对于 AI 工程来说,除了编程语言和依赖管理工具,还需要关注 GPU 计算环境。

1. NVIDIA GPU 与 CUDA

CUDA 是 NVIDIA 提供的并行计算平台,可用于执行深度学习中大量的矩阵运算。首先检查 GPU 驱动:

nvidia-smi

如果能够显示 GPU 型号、驱动版本和显存信息,说明驱动工具能够识别 GPU。

NVIDIA-SMI 检测到 A10 GPU 信息截图

随后,在已激活的 Python 虚拟环境中安装课程示例使用的 CUDA 12.4 版 PyTorch:

uv pip install torch torchvision torchaudio \
--index-url https://download.pytorch.org/whl/cu124

需要注意,这只是一个示例安装命令。实际安装时,应根据操作系统、Python 版本、GPU 驱动和 PyTorch 官方兼容要求选择对应的版本。

2. Apple Silicon 与 MPS

如果使用的是搭载 M1、M2、M3 或 M4 芯片的 Mac,需要区分 CUDA 与 MPS。Apple Silicon 不使用 NVIDIA CUDA,而是可以通过 MPS 后端调用 Apple GPU。

安装 PyTorch:

uv pip install torch torchvision torchaudio

macOS 不应使用 Linux/Windows 专用的 CUDA wheel。

3. 验证 PyTorch 是否能够使用 GPU

创建 check_gpu.py:

import torch

print("PyTorch version:", torch.__version__)
print("CUDA available:", torch.cuda.is_available())
print("MPS available:", torch.backends.mps.is_available())

if torch.cuda.is_available():
    print("GPU:", torch.cuda.get_device_name(0))

if torch.cuda.is_available():
    device = torch.device("cuda")
elif torch.backends.mps.is_available():
    device = torch.device("mps")
else:
    device = torch.device("cpu")

x = torch.tensor([1.0, 2.0, 3.0], device=device)
y = x * x

print("Selected device:", device)
print("Tensor:", y)
print("Tensor device:", y.device)

执行:

python check_gpu.py

这段代码完成了三项检查:

  1. 查看 PyTorch 版本。
  2. 检查 CUDA 和 MPS 是否可用。
  3. 根据环境选择计算设备,并执行张量运算。

如果输出为:

Tensor: tensor([1., 4., 9.], device='cuda:0')

说明这次张量运算使用了 CUDA 设备。如果设备显示为 mps:0,则说明使用的是 MPS。如果显示为 cpu,程序使用 CPU 执行计算。

PyTorch GPU 环境验证:CUDA 可用性检测输出

八、常见问题排查

问题一:找不到 uv 命令

先执行:

command -v uv
uv --version

如果命令不存在,检查安装是否完成,并根据安装程序提示配置 PATH。

问题二:Python 版本不正确

执行:

python --version
python -c "import sys; print(sys.executable)"

重点检查当前使用的 Python 是否来自预期的虚拟环境。

问题三:fnm 安装失败

如果提示缺少 unzip,可以执行:

sudo apt install -y unzip

然后重新运行 fnm 安装流程。

问题四:PyTorch 无法识别 GPU

建议按照以下顺序排查:

  1. 检查 GPU 驱动是否正常。
  2. 检查当前 Python 是否为预期的虚拟环境。
  3. 检查 PyTorch 的安装版本是否适合当前平台。
  4. 检查驱动和 CUDA 构建之间的兼容性。
  5. 检查实际张量运算使用的设备。

Linux/NVIDIA 环境可以执行:

nvidia-smi

python -c "import torch; print(torch.__version__)"
python -c "import torch; print(torch.cuda.is_available())"

不要只凭 PyTorch 安装成功就认定 GPU 环境已经配置完成。

以上内容仅为作者个人观点,仅供交流与探讨。如果你对本文的配置方式有不同想法或补充,欢迎到云栈社区与更多开发者一起交流。




上一篇:Anthropic启动网络使命计划:Claude驱动漏洞修复与OSS Scanner开源扫描
下一篇:Chromium ABE 解密工程实践:四种 v20 方案与无 UAC 提权落地
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-10-11 10:26 , Processed in 0.115909 second(s), 40 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表