2. Python 科学计算环境搭建:Anaconda 安装、虚拟环境与库管理

说实话,做数据科学或优化项目,第一步往往不是写代码,而是把环境整明白。我见过太多同学花一小时写模型,结果花一整天装库、调版本。嗯,这章我们就一次性把这事搞定。

2.1 为什么非要用 Anaconda?

Python 自带解释器,但做科学计算时,你需要的不是它。你需要的是 numpy、pandas、scikit-learn、matplotlib……这些库依赖关系复杂,版本冲突能让任何人崩溃。

我个人习惯用 Anaconda。它不只是一个 Python 发行版,还自带 conda 包管理器。conda 能解决依赖冲突,还能创建隔离的虚拟环境。你想想看,一个项目用 Python 3.8 + numpy 1.19,另一个项目用 Python 3.10 + numpy 1.24,要是混在一起,不出问题才怪。

我在项目中遇到过两次版本冲突导致模型训练结果异常的情况。一次是 scikit-learn 的随机种子不一致,另一次是 pandas 的 groupby 行为变化。从那以后,每个项目我都单独建一个虚拟环境。

⚠ 注意: 不要直接用系统自带的 Python 做科学计算项目。它可能被系统工具依赖,擅自升级会搞坏系统。Anaconda 装在用户目录下,完全隔离,互不干扰。

2.2 Anaconda 安装:两种方式

Anaconda 有两种安装方式:完整版(几百 MB)和精简版 Miniconda(几十 MB)。完整版预装了 150+ 科学计算包,但体积大。Miniconda 只带 conda 和 Python,后续你要什么装什么。

我建议新手先装 Anaconda 完整版,省事。后面熟悉了,再换 Miniconda 也不迟。

安装步骤

  1. 去 Anaconda 官网下载对应系统(Windows / macOS / Linux)的安装包。选 Python 3.x 版本即可。
  2. 双击运行,一路默认选项。Windows 用户注意:安装最后一页勾选 "Add Anaconda to my PATH environment variable"(虽然官方不推荐,但新手勾上更方便,后续可以用命令行直接启动)。
  3. 安装完成后,打开终端(CMD 或 Terminal),输入 conda --version,看到版本号即成功。
# 验证安装
conda --version
# 输出示例:conda 24.1.2
💡 小技巧: Linux 或 macOS 用户安装后,记得执行 conda init,这样每次打开终端会自动激活 base 环境。Windows 用户如果没勾选 PATH,可以在开始菜单里找到 "Anaconda Prompt" 运行。

2.3 创建虚拟环境:隔离是王道

我一开始也不习惯建环境,觉得麻烦。直到有一次我同时做两个项目,一个需要 TensorFlow 1.x,另一个需要 TensorFlow 2.x,直接崩了。后来我养成了每个项目建独立环境的习惯。

创建虚拟环境的命令很简单。我们给本章课程创建一个环境,取名 optenv,Python 版本 3.9。

# 创建名为 optenv 的环境,指定 Python 3.9
conda create -n optenv python=3.9

# 激活环境(Windows)
conda activate optenv

# 激活环境(macOS/Linux)
source activate optenv  # 或 conda activate optenv

一旦激活,Shell 前面会显示 (optenv),表示你已经在环境里了。接下来安装的所有包,都只属于这个环境。

🔍 核心操作清单:
  • conda create -n 环境名 python=版本号 — 创建
  • conda activate 环境名 — 激活
  • conda deactivate — 退出当前环境
  • conda env list — 查看所有环境
  • conda remove -n 环境名 --all — 删除环境

2.4 安装科学计算核心库:numpy、pandas、scikit-learn

环境建好了,接下来装库。三个最常用的:

库名 作用 我推荐用 conda 还是 pip?
numpy 数值计算、数组操作、线性代数 conda(预编译,快且稳定)
pandas 数据处理、表格操作、数据清洗 conda
scikit-learn 机器学习模型、特征工程、评估 conda(版本较新)

命令很简单:

# 一次性安装三个库
conda install numpy pandas scikit-learn

# 或者单独安装
conda install numpy
conda install pandas
conda install scikit-learn

安装完成后,验证一下:

# 检查版本
python -c "import numpy; print(numpy.__version__)"
python -c "import pandas; print(pandas.__version__)"
python -c "import sklearn; print(sklearn.__version__)"

如果输出类似:

1.24.3
2.0.3
1.3.0

那就搞定了。我曾经遇到一个坑:用 pip 安装 scikit-learn 的时候,它自动装了 numpy 1.26,但我的 pandas 只支持到 1.24,结果 pandas 挂了。用 conda 安装的话,它会自动解析依赖,选一个兼容的版本。所以,能用 conda 就用 conda。

⚠ 避坑提醒: 我曾经在 Windows 上直接用 pip install numpy,结果编译报错,因为缺少 Visual C++ 编译器。换成 conda install numpy 就没事了,conda 下载的是预编译的二进制包。另外,如果你要用 GPU 加速,比如 CUDA,conda 也能处理 cuDNN 的依赖,比 pip 省心很多。

2.5 其他常用科学计算库(按需安装)

除了三件套,我一般还会在项目中安装这些,看需求:

  • matplotlib — 画图,必装。
  • seaborn — 基于 matplotlib 的统计绘图库,更美观。
  • jupyter — 交互式 Notebook,开发效率高。
  • scipy — 高级数学函数、优化算法。
  • statsmodels — 统计模型、假设检验。

安装也简单:

conda install matplotlib seaborn jupyter scipy statsmodels

2.6 环境导出与克隆:团队协作必备

如果你要和同事共享环境,或者把环境部署到服务器,可以用 environment.yml 文件。

# 导出当前环境的包列表到文件
conda env export > environment.yml

# 从文件重建环境
conda env create -f environment.yml

导出的文件里包含了所有包名称、版本号、来源(conda 或 pip)。别人直接一条命令就能复制你的环境。我在团队开发中经常这么用,节省了无数"怎么我跑不通"的排查时间。

2.7 本章知识体系总览

Python科学计算环境搭建流程 安装 Anaconda 下载对应系统安装包, 勾选 PATH 或使用 Anaconda Prompt 创建虚拟环境 conda create -n optenv python=3.9 激活环境 conda activate optenv 安装核心库 numpy / pandas / scikit-learn 按需安装其他库 matplotlib, seaborn, jupyter 导出 environment.yml 💡 第一个项目环境 后期可克隆或删除重建
💡 一句话总结: Anaconda 帮你隔离 Python 环境,虚拟环境让你同一台机器上能同时跑多个不同版本的科学计算项目,互不干扰。装库优先用 conda,解决依赖冲突比 pip 可靠。