2. Python 环境准备:Anaconda 安装、Jupyter Notebook 配置、虚拟环境创建与依赖库安装

在开始知识图谱样本偏差校验实战之前,搭建一个干净、可复现的 Python 开发环境是首要任务。本章将引导你完成从 Anaconda 安装到核心依赖库配置的全流程,确保后续章节的代码能够稳定运行。

2.1 环境概览与工具选择

本课程采用 Anaconda 作为 Python 发行版与包管理器,搭配 Jupyter Notebook 作为交互式开发界面。Anaconda 内置了 conda 虚拟环境管理功能,能够有效隔离不同项目的依赖冲突,这对于数据科学和知识图谱项目尤为重要。

为什么选择 Anaconda? 它预装了 1500+ 数据科学常用包,提供图形化界面(Anaconda Navigator)和命令行工具(conda),能够一键创建、导出、复制虚拟环境,极大降低环境配置的复杂度。
Python 环境架构图 Python 环境架构图 Anaconda 发行版 conda 虚拟环境管理器 env_kg (本课程) env_ml (机器学习) env_web (Web开发) pandas / numpy / sklearn tensorflow / pytorch flask / django

2.2 Anaconda 安装步骤

Anaconda 支持 Windows、macOS 和 Linux 三大平台。以下以 Windows 为例,其他平台操作类似。

步骤 操作说明 注意事项
1 访问 Anaconda 官网(anaconda.com)下载 Python 3.9+ 版本安装包 选择 Individual Edition(免费版)
2 双击安装包,点击 Next 进入安装向导 建议勾选 Add Anaconda to PATH(方便命令行调用)
3 选择安装路径(默认 C:\Users\用户名\anaconda3) 路径中不要包含中文或空格
4 等待安装完成,点击 Finish 安装后可在开始菜单找到 Anaconda Navigator
5 打开 Anaconda Prompt(或系统终端),输入 conda --version 验证 显示版本号即表示安装成功
常见问题:如果安装后 conda 命令无法识别,请检查环境变量 PATH 中是否包含 ...\anaconda3 和 ...\anaconda3\Scripts 两个路径。手动添加后重启终端即可。

2.3 Jupyter Notebook 配置

Jupyter Notebook 是数据科学领域最流行的交互式编程环境之一。Anaconda 已内置 Jupyter,我们只需进行基础配置即可使用。

2.3.1 启动 Jupyter Notebook

在 Anaconda Prompt 或终端中执行以下命令:

# 直接启动(默认端口 8888)
jupyter notebook

# 指定端口启动(避免端口冲突)
jupyter notebook --port 9999

# 指定工作目录启动
jupyter notebook --notebook-dir D:\kg_course

启动后,浏览器会自动打开 Jupyter 界面,默认地址为 http://localhost:8888。

2.3.2 配置密码与远程访问(可选)

如果需要远程访问 Jupyter,建议设置密码:

# 生成配置文件
jupyter notebook --generate-config

# 设置密码
jupyter notebook password
# 按提示输入密码并确认

配置文件位于 C:\Users\用户名\.jupyter\jupyter_notebook_config.py,可在此文件中修改端口、IP 绑定等参数。

效率技巧:在 Jupyter Notebook 中,按 Tab 键可自动补全代码,按 Shift + Enter 执行当前单元格并跳转到下一个,按 Esc + H 查看所有快捷键。

2.4 创建虚拟环境

虚拟环境是 Python 项目隔离的最佳实践。本课程将创建一个名为 kg_env 的专用环境。

2.4.1 使用 conda 创建环境

# 创建名为 kg_env 的虚拟环境,指定 Python 版本为 3.9
conda create -n kg_env python=3.9 -y

# 激活虚拟环境(Windows)
conda activate kg_env

# 激活虚拟环境(macOS/Linux)
source activate kg_env

# 查看当前环境中的包列表
conda list

2.4.2 环境管理常用命令

命令 功能说明
conda env list 列出所有虚拟环境
conda activate <env_name> 激活指定环境
conda deactivate 退出当前环境
conda remove -n <env_name> --all 删除指定环境及其所有包
conda env export > environment.yml 导出当前环境的依赖清单
conda env create -f environment.yml 从 YAML 文件重建环境
最佳实践:每个项目使用独立的虚拟环境,并在项目根目录保存 environment.yml 文件。这样团队成员或部署服务器可以通过一条命令完全复现你的开发环境。

2.5 安装核心依赖库

本课程的知识图谱样本偏差校验实战将依赖以下四个核心库。请在激活 kg_env 环境后执行安装。

2.5.1 依赖库清单与用途

库名 版本建议 核心用途
pandas ≥ 1.5.0 数据加载、清洗、转换、统计分析;处理 CSV/Excel/JSON 等格式
numpy ≥ 1.24.0 数值计算、矩阵运算、随机数生成;作为 pandas 和 sklearn 的底层计算引擎
scikit-learn ≥ 1.2.0 样本偏差检测算法(如 KDE、孤立森林)、数据预处理、评估指标
matplotlib ≥ 3.7.0 数据可视化:分布图、偏差对比图、箱线图、散点图矩阵

2.5.2 安装命令

# 确保已激活虚拟环境
conda activate kg_env

# 方式一:使用 conda 安装(推荐,自动处理依赖冲突)
conda install pandas numpy scikit-learn matplotlib -y

# 方式二:使用 pip 安装(如果 conda 源中版本较旧)
pip install pandas numpy scikit-learn matplotlib

# 验证安装(在 Python 交互环境或 Jupyter 中执行)
python -c "import pandas; import numpy; import sklearn; import matplotlib; print('All libraries installed successfully!')"

2.5.3 安装验证与版本检查

# 在 Jupyter Notebook 或 Python 脚本中执行
import pandas as pd
import numpy as np
import sklearn
import matplotlib

print(f"pandas version: {pd.__version__}")
print(f"numpy version: {np.__version__}")
print(f"scikit-learn version: {sklearn.__version__}")
print(f"matplotlib version: {matplotlib.__version__}")

预期输出示例:

pandas version: 1.5.3
numpy version: 1.24.3
scikit-learn version: 1.2.2
matplotlib version: 3.7.1
核心依赖库关系图 核心依赖库关系图 知识图谱偏差校验 数据处理 + 建模 + 可视化 pandas numpy scikit-learn matplotlib

2.6 环境验证与快速测试

完成上述步骤后,建议执行一个完整的集成测试,确保所有组件协同工作。

# 在 Jupyter Notebook 中新建一个单元格,粘贴以下代码并运行
import pandas as pd
import numpy as np
from sklearn.model_selection import train_test_split
import matplotlib.pyplot as plt

# 1. 生成模拟数据
np.random.seed(42)
data = pd.DataFrame({
    'entity_id': range(1000),
    'relation_count': np.random.poisson(5, 1000),
    'attribute_completeness': np.random.uniform(0.3, 1.0, 1000),
    'source_quality': np.random.choice(['high', 'medium', 'low'], 1000)
})

# 2. 数据基本信息
print("数据形状:", data.shape)
print("\n前5行数据:\n", data.head())
print("\n缺失值统计:\n", data.isnull().sum())

# 3. 简单统计分析
print("\nrelation_count 描述性统计:\n", data['relation_count'].describe())

# 4. 可视化测试
plt.figure(figsize=(8, 4))
data['relation_count'].hist(bins=30, color='#3498db', edgecolor='white')
plt.title('Relation Count Distribution')
plt.xlabel('Count')
plt.ylabel('Frequency')
plt.grid(axis='y', alpha=0.3)
plt.show()

print("\n✅ 环境验证通过!所有依赖库正常工作。")
环境就绪标志:如果上述代码无报错运行,并成功显示直方图,说明你的 Python 环境已完全就绪,可以进入下一章的知识图谱数据加载与偏差检测实战。

2.7 常见问题与解决方案

问题现象 可能原因 解决方案
conda 命令找不到 未将 Anaconda 加入 PATH 手动添加 ...\anaconda3 和 ...\anaconda3\Scripts 到系统环境变量
Jupyter Notebook 无法启动 端口被占用或配置文件损坏 使用 jupyter notebook --port 9999 指定端口;或删除 .jupyter 目录下的配置文件重新生成
安装包时提示 HTTP 错误 网络问题或 conda 源速度慢 更换国内镜像源(如清华、中科大):conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
虚拟环境激活后仍使用 base 环境的包 未正确激活环境,或 PATH 顺序问题 使用 conda activate kg_env 后,运行 which python(Linux/macOS)或 where python(Windows)确认路径指向环境目录
matplotlib 中文显示为方框 缺少中文字体支持 在代码中添加:plt.rcParams['font.sans-serif'] = ['SimHei'];或安装中文字体包