4. Python 环境准备:把 Conda 这个“包管家”伺候好
实话跟你说,我见过太多新手把时间浪费在等 conda 下载上了。明明网络没问题,一个 `conda install` 卡在那半天不动,进度条跟死了一样。嗯,八成是源的问题。我个人习惯是,装好 conda 的第一件事:换源。
你可能会问:“为什么要用 conda?系统自带的 Python 不行吗?”
我的答案是:实验室里千万别碰系统 Python。系统 Python 是给操作系统自己用的。你把它搞乱了,yum、apt 这些包管理器会集体罢工。conda 可以把 Python 环境隔离得干干净净,项目之间互不打架。AutoDock Vina 相关的工具链,比如 Meeko、OpenBabel、ADFR,都能在 conda 里装得服服帖帖。
sudo pip install 往系统 Python 里塞包。我当年就是手贱,把系统的 libpython3.7m.so.1.0 给覆盖了,最后不得不重装系统。
4.1 Miniconda vs Anaconda:选哪个?
很多人一上来就装 Anaconda,结果发现体积好几 G,里面大部分包这辈子都用不上。我的建议是:装 Miniconda。
它俩的本质其实一样——底层都是 conda 包管理器。区别在于预装的东西:
| 对比项 | Miniconda | Anaconda |
|---|---|---|
| 安装包大小 | ~100 MB | ~3 GB |
| 默认包含包数 | 仅有 conda + Python + 少量依赖 | 1500+ 科学计算包 |
| 适合场景 | 轻量、按需安装、CI/CD 流水线 | 新手一站式体验、离线安装 |
| 我的推荐 | ⭐⭐⭐⭐⭐ | ⭐⭐ |
说白了,你装 Miniconda,后面缺什么包再用 conda 装,干净又可控。我之前在服务器上不小心装了 Anaconda,结果 `/opt` 分区直接满了,清了一下午才腾出空间。从此只认 Miniconda。
4.2 安装步骤:别信一键安装,自己动手最稳
安装其实就三步。但很多人第一步就走错了——直接从官网下载最新版本。我不建议这么做,因为最新版有时会和旧系统不兼容。我个人习惯是用 清华镜像站 的归档版本。
Step 1:下载 Miniconda 安装脚本
在终端里敲这行命令:
wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-latest-Linux-x86_64.sh
如果你是 macOS,把后缀换成 MacOSX-x86_64.sh。
为什么要用清华源?直接连官网下载,速度可能只有几十 KB/s,清华源基本能跑满带宽。
Step 2:执行安装脚本
bash Miniconda3-latest-Linux-x86_64.sh
安装过程会问几个问题:
- 许可协议:按
q跳过阅读,输入yes。 - 安装路径:默认是
~/miniconda3,就放这儿,别改。 - 是否初始化 conda:选
yes。它会自动改你的.bashrc,把 conda 加入 PATH。
Step 3:使配置生效
source ~/.bashrc
输完这行,你的命令行前面应该会出现 (base) 字样。如果没有,重启终端试试。
conda config --set auto_activate_base false
需要时手动 conda activate base 就行。
4.3 换源:治标又治本
这是本章最核心的内容。conda 默认源在海外,速度极其不稳定。换源能救命。
我的做法是修改 .condarc 配置文件。如果你没有这个文件,手动创建它:
vim ~/.condarc
写入以下内容(以清华源为例):
channels:
- defaults
show_channel_urls: true
default_channels:
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
custom_channels:
conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
配置完成后,清除一下索引缓存:
conda clean -i
conda update --all
现在你再 conda install 任何包,速度都会快一个量级。
说到换源,我举个例子。有一次我在项目里需要装 pandas,没换源时等了 8 分钟进度条还在转。换成清华源后,30 秒搞定。你想想看,多出来的 7 分半钟要是用来调 Vina 参数,能做多少事。
4.4 conda 基本操作:够用就行
你不用背所有命令,掌握下面几个就足够了:
| 操作 | 命令 | 说明 |
|---|---|---|
| 创建环境 | conda create -n vina_env python=3.9 |
指定 Python 版本创建独立环境 |
| 激活环境 | conda activate vina_env |
进入该环境后,所有包隔离 |
| 退出环境 | conda deactivate |
回到 base 或系统环境 |
| 安装包 | conda install numpy |
从已配置的源下载安装 |
| 列出所有环境 | conda env list |
查看你建了多少个环境 |
| 删除环境 | conda env remove -n vina_env |
不要了就删,不占空间 |
嗯,这里面最常用的就是 conda activate 和 conda install。你不需要知道太多,但一定要养成 每个项目建一个独立环境 的习惯。上次一个同事把所有包都装在 base 里,结果 openbabel 和 rdkit 冲突,折腾了一周。
4.5 避坑指南:我踩过的那些坑
- 下载还是一直转圈? 检查一下
.condarc里是不是写错了 URL 前缀。我曾经把pkgs/main写成了pkgs/main/,多了个斜杠直接报 404。 - conda 命令卡在 Solving environment? 这是依赖解析太慢。可以试试
conda install -c conda-forge --freeze-installed 包名,或者直接用mamba(conda 的加速版)。我个人现在都改用 mamba 了,速度能快 5 倍以上。 - Python 版本该选哪个? 对于 AutoDock Vina 相关的工具,3.8 或 3.9 最稳。3.10 以上有些旧化工库还没适配。
- Windows 用户注意: 装 Miniconda 时记得勾选“将 conda 添加到 PATH”,否则后面你在 cmd 里输 conda 命令会提示找不到。
4.6 一张图看懂本章逻辑
下面这张流程图把 Python 环境准备的关键路径画清楚了:从要不要装 conda,到选 Miniconda 还是 Anaconda,再到换源、创建环境,最后能稳定快速地装包。
看完这张图你就能明白:我们其实就干了两件事——把 conda 装好,把源换成国内的。剩下的就是敲几个命令的事。别让网络速度拖慢你的研究进度。
4.7 收尾几句
好了,现在你的 Python 环境已经准备好了。干净、可重复、下载飞快。后面不管是装 AutoDock Vina 还是 Meeko、OpenBabel,都会非常顺畅。记住,环境管理的功夫在平时,别等到项目跑不动了才后悔。