首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >超算实战 | 如何在超算中10秒搞定个人Python环境

超算实战 | 如何在超算中10秒搞定个人Python环境

作者头像
用户11172986
发布2026-04-24 19:03:07
发布2026-04-24 19:03:07
850
举报
文章被收录于专栏:气python风雨气python风雨

气象Python实战 | 如何在超算中10秒搞定个人Python环境

关键词:超算、module、conda、气象、Wrf-python、xesmf、超分辨率 适合人群:刚拿到超算账号、被系统自带2.7劝退的小伙伴

1. 为什么别用系统自带Python

  • 版本太古(CentOS 7 默认 2.7.5),连 f-string 都不认
  • 写好的脚本一 sbatch 就报错:No module named numpy
  • 管理员不会给你 root,pip 全局装包=社死

一句话:在超算里“conda 是亲妈,module 是亲爹”。

2. 整体思路(10 秒版)

代码语言:javascript
复制
module load anaconda3            # 1️⃣ 让系统认识 conda  
conda create -n py312 -c conda-forge python=3.12  # 2️⃣ 建环境  
conda activate py312             # 3️⃣ 进场  

完了,真的完了,后面你想装 wrf-pythonxesmftorch 随便 conda install。 每次登陆只要重复下面两句就能回到你的小窝:

代码语言:javascript
复制
module load anaconda3  
conda activate py312  

3. 详细步骤

Step 0 看看家里有什么模块

代码语言:javascript
复制
module avail |& grep -i conda  
# 常见返回:anaconda3/2023.03  anaconda2/2019.10  

Step 1 载入(load)anaconda

代码语言:javascript
复制
module load anaconda3/2023.03   # 版本号按查到的写  
which conda                     # 确认出现 /path/to/conda  

Step 2 新建一个干净环境

这里给出“万能气象配方”,Python≥3.8 才能装新版 xesmf:

代码语言:javascript
复制
conda create -n py312 -c conda-forge \  
  python=3.12 \  
  numpy scipy matplotlib cartopy pandas netCDF4 xarray dask  

Step 3 激活并验证

代码语言:javascript
复制
conda activate py312  
python -V            # 应返回 3.12.x  
python -c "import xarray, cartopy, netCDF4; print('OK')"  

Step 4 装气象专包

代码语言:javascript
复制
conda install -c conda-forge wrf-python xesmf  
# 如要深度学习  
conda install pytorch torchvision torchaudio -c pytorch  

Step 5 写个最小提交脚本 test.sbatch

代码语言:javascript
复制
#!/bin/bash  
#SBATCH -J ctest  
#SBATCH -p normal  
#SBATCH -n 1  
#SBATCH -t 00:05:00  

module load anaconda3/2023.03  
conda activate py312  

python <<'PY'  
import numpy as np, xarray as xr, xesmf as xe  
print('Hello from', np.__version__, xr.__version__, xe.__version__)  
PY  

提交:

代码语言:javascript
复制
sbatch test.sbatch  
squeue -u $USER  

看到 DONE 就证明环境整条链路通了。

4. 常见坑

1 conda init 后仍找不到 activate → 把下面一行写进 ~/.bashrcsource ~/.bashrc

代码语言:javascript
复制
export -f conda __conda_activate __add_sys_prefix_to_path > /dev/null 2>&1  

2 作业节点找不到环境 → 提交脚本里一定再写一次 module load anaconda3 && conda activate py312,因为 compute 节点不继承登录节点的环境。

3 pip 与 conda 混用 → 优先 conda;不得不 pip 时,先 conda install pip,再用 python -m pip install xxx 确保装到当前环境。

4 空间爆满 → conda clean -tp 清缓存;或者把 envs_dirs 改到 scratch 盘:

代码语言:javascript
复制
conda config --add envs_dirs /scratch/$USER/conda_envs  

5. 彩蛋:一键备份 & 搬迁

代码语言:javascript
复制
conda env export -n py312 > py312.yml  
# 在新机器上  
conda env create -f py312.yml  

连同脚本一起丢给师弟,他 30 秒就能复刻整套环境。

6. 小结

在超算里搭 Python 就三件事:module load anaconda → conda create → conda activate。 记住这条"铁三角",从此告别“缺包求人”,把精力留给真正的气象科研和业务跑模式。祝大家 paper 秒 accept,模式不炸!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-09-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 气python风雨 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 气象Python实战 | 如何在超算中10秒搞定个人Python环境
    • 1. 为什么别用系统自带Python
    • 2. 整体思路(10 秒版)
    • 3. 详细步骤
      • Step 0 看看家里有什么模块
      • Step 1 载入(load)anaconda
      • Step 2 新建一个干净环境
      • Step 3 激活并验证
      • Step 4 装气象专包
      • Step 5 写个最小提交脚本 test.sbatch
    • 4. 常见坑
    • 5. 彩蛋:一键备份 & 搬迁
    • 6. 小结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档