3、Python环境准备:Anaconda安装、虚拟环境创建、必备库安装与验证

搞组织发育空间分析,环境配置是第一道坎。我见过不少同学在这步卡了好几天,装了一堆库却发现版本冲突,最后不得不全部重来。其实只要按部就班,半小时就能搞定。

3.1 Anaconda的下载与安装

Anaconda是目前最省事的Python发行版,自带conda包管理器和许多常用科学计算库。我个人习惯用Miniconda——它更轻量,只保留核心组件,后续需要什么装什么。

一点建议:别从官网下载Anaconda的完整版(超过800MB),直接选Miniconda(不到100MB)。我在服务器上部署时都用Miniconda,省空间也快。

下载地址这里不贴链接了,你直接搜「Miniconda」就能找到。安装时留意两个选项:

  • 安装路径不要有中文或空格
  • 勾选「Add to PATH」——虽然安装器会警告,但我建议勾上,省得后续手动配环境变量

注意:Windows用户安装完成后,记得重新打开命令行或PowerShell。我曾经因为忘记重启,直接运行conda命令报错“不是内部或外部命令”,折腾了半天才发现。

3.2 虚拟环境创建与激活

为什么一定要用虚拟环境?说白了就是隔离依赖。每个项目都有自己的Python版本和库组合,互不干扰。比如scanpy需要Python 3.8~3.11,squidpy要求某些特定版本,如果全装在base环境里,迟早会打架。

我通常按项目名加Python版本创建环境,比如:

conda create -n spatial_omics python=3.9 -y

激活环境的命令因系统而异:

  • Windows: conda activate spatial_omics
  • Linux / macOS: conda activate spatial_omics

验证一下环境是否成功:

python --version
# 输出应为 Python 3.9.x

conda info --envs
# 列表中应该包含 spatial_omics 环境,且前面有 * 号标记当前环境

3.3 必备库安装

空间转录组分析的核心库是以下这些:

库名 一句话用途 安装方式
scanpy 单细胞分析基础设施,处理表达矩阵、聚类、降维 pip install scanpy
squidpy 空间转录组专用库,识别组织区域、空间自相关 pip install squidpy
numpy 数值计算,几乎所有库的底层依赖 conda install numpy
pandas 表格操作,处理元数据、结果输出 conda install pandas
matplotlib 静态可视化,基础绘图工具 conda install matplotlib
seaborn 统计图表美化,heatmap、violin图等 conda install seaborn
pytorch 深度学习框架,用于空间域识别、自编码器等模型 按官网选择cuda版本

安装顺序我建议先装基础库,再装空间分析库,避免依赖冲突。直接贴我的常用安装命令:

conda activate spatial_omics

# 基础库
conda install numpy pandas matplotlib seaborn -y

# 生物信息学库
pip install scanpy squidpy

# PyTorch(根据你的CUDA版本选择,这里以CPU版为例)
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu

避坑指南:我曾在安装squidpy时遇到依赖报错,因为conda和pip混用导致scanpy版本不兼容。现在我统一用pip装scanpy和squidpy,conda只装系统级库,混用要格外小心。

3.4 环境验证

装完不能直接相信,必须验证。写一个小脚本来检查所有库是否可以正常导入,并打印版本号:

import numpy
import pandas
import matplotlib
import seaborn
import scanpy
import squidpy
import torch

print("numpy:", numpy.__version__)
print("pandas:", pandas.__version__)
print("matplotlib:", matplotlib.__version__)
print("seaborn:", seaborn.__version__)
print("scanpy:", scanpy.__version__)
print("squidpy:", squidpy.__version__)
print("torch:", torch.__version__)

你可以把这段代码保存为 check_env.py,然后在激活的环境下运行:

python check_env.py

输出类似这样就算成功:

numpy: 1.24.3
pandas: 2.0.3
matplotlib: 3.7.2
seaborn: 0.12.2
scanpy: 1.9.6
squidpy: 1.2.3
torch: 2.1.0

如果某一行报错 ModuleNotFoundError,说明对应的库没装上。别怕,回过头重新安装那个包就行,大部分问题都是网络不稳定导致下载失败。

一点经验:我经常在笔记本上同时维护两个环境——一个稳定版(装好了就不动),一个实验版(用来测试新库)。这样即使实验版搞坏了,直接用稳定版继续工作。

3.5 本章知识体系

下面这张SVG图把整个环境搭建的流程串起来了,你可以对照着一步一步走:

Python环境搭建工作流 下载 Miniconda installer.exe/.sh 安装并配置PATH conda命令可用 创建虚拟环境 conda create -n spatial_omics python=3.9 安装必备库 numpy, pandas, matplotlib, seaborn scanpy, squidpy, pytorch 验证导入与版本 python check_env.py 全部成功 → 环境搭建完成 常见问题 • conda命令找不到:重启终端,检查PATH • 库版本冲突:用pip/conda单独重装 • 安装慢:换国内镜像源(清华/阿里) 避坑指南 • 环境名称用项目相关,便于管理 • 先装基础库,再装空间分析库 • 建议保存requirements.txt 环境配置完成,可以开始分析数据了

环境搭好只是第一步,但这步稳了,后面跑分析的时候就能少很多莫名其妙的报错。我每次给新同事培训,第一件事就是让他们亲手搭一遍环境,踩一遍坑。结果证明,自己装过一次的人,后面出问题排查效率高得多。