【LangChain学习笔记】Python环境搭建
Anaconda:多版本环境管理工具
工具概述
在Python数据科学领域,环境管理几乎是每位开发者最先遇到的拦路虎。不同项目依赖不同版本的Python,各种包之间的版本冲突更是家常便饭。Anaconda正是为了解决这类问题而生——它不仅能快速创建、切换多版本Python环境,还内置了大量科学计算常用的依赖包,省去了一个个手动安装的麻烦。
安装方式
1. 下载渠道选择(优先镜像源)
官方下载渠道有两个让人头疼的痛点:一是必须登录账号才能下载,二是服务器在境外,国内下载速度慢得令人抓狂。所以,优先推荐使用清华镜像源——无需登录,下载速度快,而且资源与官方保持同步。
2. 版本选择原则
版本选择的核心标准很简单:看发布日期。优先选择最新版本,避免旧版本中可能存在的兼容性错误或安装异常问题。一句话,越新越稳。
3. 配置环境变量
Anaconda安装完成后,还需要手动配置环境变量,否则在控制台中无法直接使用conda命令。这一步很多新手容易忽略,导致后续操作卡壳。
3.1 配置步骤
- 进入系统设置:设置 → 系统 → 关于 → 高级系统设置 → 环境变量;
- 在「系统变量」中找到
Path变量,点击「编辑」; - 新增Anaconda相关路径(参考下方默认路径,需根据实际安装目录调整);
- 保存配置,重启控制台使设置生效。
3.2 默认环境变量路径(参考)
C:ProgramDataanaconda3
C:ProgramDataanaconda3Scripts
C:ProgramDataanaconda3Librarybin
3.3 安装与配置验证
# 查看 conda 版本,正常显示版本号则安装配置成功
conda --version
使用示例
Anaconda的核心价值在于环境的创建、切换和管理。建议优先使用Anaconda内置的界面应用Anaconda Na vigator,对新手来说更直观。当然,熟悉命令行后也可以直接用conda指令操作,效率更高。
uv: Python 包管理器
工具概述
如果说Anaconda是环境管理的老牌选手,那uv就是近年杀出的黑马。它由Astral公司基于Rust开发,兼容pip的使用习惯,但安装速度极快、内存占用低,还内置了虚拟环境管理功能。简单来说,uv是pip和venv的高效替代方案,能大幅提升包安装与项目管理的效率。
安装方式
1. 安装方法(优先镜像源)
直接从官方源安装,很可能因为网络问题导致超时。推荐使用国内镜像源,Windows/macOS/Linux系统通用。
# 清华 PyPI 镜像安装(推荐)
pip3 install uv -i https://pypi.tuna.tsinghua.edu.cn/simple
1.1 安装验证
# 查看 uv 版本,正常显示版本号则安装成功
uv --version
使用示例
1. 初始化项目
# 初始化名为 project_demo 的项目(会自动生成 pyproject.toml 文件)
uv init project_demo
2. 配置镜像源
在项目根目录的pyproject.toml文件中配置uv镜像源,确保后续包安装速度:
[project]
name = "project_demo"
version = "0.1.0"
requires-python = ">=3.13" # 需根据实际使用的 Python 版本调整
[tool.uv]
# 配置清华 PyPI 镜像源
index-url = "https://pypi.tuna.tsinghua.edu.cn/simple"
3. 安装模块
# 安装 langchain_openai 模块
uv add langchain_openai
Ruff:高性能代码检查与格式化工具
工具概述
Ruff是另一个基于Rust开发的利器,它将代码检查(Linter)和格式化(Formatter)合二为一。核心价值在于自动化规范代码风格、检测潜在问题,从而提升开发效率和代码质量。对于团队协作项目来说,这几乎是标配。
配置文件(pyproject.toml)
通过项目根目录的pyproject.toml文件可以自定义Ruff规则,它的优先级高于默认配置,能够适配项目专属规范。下面是一个典型的配置示例:
[project]
name = "project-demo"
version = "0.1.0"
requires-python = ">=3.10"
[tool.ruff]
target-version = "py310" # 适配的 Python 版本,与上方保持一致
line-length = 88 # 代码行长度限制(默认 88,符合 PEP8 规范)
[tool.ruff.lint]
# 启用核心规则集(推荐,避免过度检查)
select = ["E", "W", "F", "I", "B"]
# 禁用特定规则(根据项目需求调整,示例:禁用行长度检查)
disable = ["E501"]
# 忽略无需检查的文件/目录(必配置,避免检查冗余文件)
exclude = ["venv/", "__pycache__/", "build/", "dist/", ".git/"]
[tool.ruff.format]
line-length = 88 # 格式化行长度与检查规则保持一致
quote-style = "preserve" # 保留原有引号风格(默认会统一为双引号)
| 规则类别 | 含义 |
|---|---|
| E/W | PEP8 规范相关问题(如缩进错误、空格缺失) |
| F | 代码逻辑错误(如未定义变量、函数参数错误) |
| I | 导入相关问题(如未使用导入、导入顺序混乱) |
| B | 潜在 Bug 风险(如不安全的断言、空 except 语句) |
控制台集成
1. 使用 pip 安装
# 基础安装
pip install ruff
# 国内镜像源加速安装(推荐,解决下载慢问题)
pip install ruff -i https://pypi.tuna.tsinghua.edu.cn/simple
1.1 安装验证
# 查看 Ruff 版本,正常显示版本号则安装成功
ruff --version
控制台使用示例
Ruff的核心命令分为两类:ruff check(代码检查)和ruff format(代码格式化)。两者分工明确,配合使用效果最佳。
代码格式化(ruff format)
作用:自动优化代码样式,解决缩进混乱、空格缺失、行过长等格式问题,让代码整洁统一。
基础用法
# 格式化单个文件
ruff format main.py
# 格式化指定目录(递归处理所有 .py 文件)
ruff format ./src/
# 格式化当前目录所有文件(最常用)
ruff format .
只检查不修改(--check 参数)
适用于代码提交前校验,仅检测格式问题,不实际修改文件:
# 检查单个文件格式
ruff format --check main.py
# 检查当前目录所有文件格式
ruff format --check .
代码检查(ruff check)
作用:检测代码中的逻辑错误、规范违规等问题(如未定义变量、未使用导入),仅报告问题,不主动修改文件。
基础用法
# 检查单个文件
ruff check main.py
# 检查当前目录所有文件
ruff check .
自动修复问题(--fix 参数)
一键修复支持自动修复的问题(如删除未使用导入、调整缩进):
# 自动修复单个文件的可修复问题
ruff check --fix main.py
# 自动修复当前目录所有文件的可修复问题
ruff check --fix .
核心命令区别对比
| 命令 | 核心目标 | 是否修改文件 | 典型场景 |
|---|---|---|---|
| ruff format | 调整代码样式(美观度、统一性) | ✅ 是 | 本地开发时统一代码格式 |
| ruff format --check | 检查格式问题,不修复 | ❌ 否 | 代码提交前格式合规校验 |
| ruff check | 检测代码错误、逻辑风险 | ❌ 否 | 开发中排查代码潜在问题 |
| ruff check --fix | 修复代码错误、规范违规问题 | ✅ 是 | 批量修复项目中的违规代码 |
VS Code编辑器集成
如果将Ruff集成到VS Code中,可以实现「保存时自动格式化+自动修复问题」,无需手动执行命令,开发效率会提升不少。
1. 安装 Ruff 插件
- 打开VS Code,点击左侧「扩展」图标。
- 在搜索框输入「Ruff」,选择官方出品的插件。
- 点击「安装」,等待安装完成。
2. 配置自动保存触发
- 在项目根目录新建文件夹
.vscode。 - 在
.vscode文件夹内新建文件settings.json。 - 写入以下配置:
{
// 保存时自动格式化代码
"editor.formatOnSa ve": true,
// 保存时自动触发代码检查修复
"editor.codeActionsOnSa ve": {
"source.fixAll": "always"
},
// 将 Ruff 设置为 Python 文件的默认格式化工具
"[python]": {
"editor.defaultFormatter": "charliermarsh.ruff"
},
}
配置生效后,编辑Python文件并保存(Ctrl+S),就会自动执行Ruff格式化与可修复问题的修复。从此告别手动敲命令的繁琐。