Skip to content

基于 Conda 的 Python 环境迁移

Published: at 00:00

前言

最近,我们将 Spark2 版本升级到了 3 版本,并创建了一个全新的 Hadoop 大数据集群,旧的集群将不再使用。之前,一些实验代码和 Jupyter Server 都运行在 gateway 这台机器上,这台机器其实只是部署了 Hadoop Client 的节点。由于集群的变更,gateway 也需要跟着迁移。

运维团队只提供了一台新的机器,因此我们的首要任务是迁移 PySpark 环境。本文将记录如何迁移 Conda 虚拟环境的详细过程,以确保我们的实验代码在新的环境中能够正常运行。

说明

新环境安装配置 Conda

安装


# 下载
wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-latest-Linux-x86_64.sh

# 安装
bash ./Miniconda3-latest-Linux-x86_64.sh
source ~/.bashrc

# 更新
conda update -n base -c defaults conda

# 修改配置文档 ~/.condarc
conda config --set show_channel_urls yes
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
  msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  pytorch-lts: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  deepmodeling: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/

旧环境生成文件

conda list --explicit > spec-list.txt

将生成的 spec-list.txt 想办法传到新环境那台机器上。

新环境创建虚拟环境

# 创建虚拟环境
conda create  --name spark_env --file spec-list.txt

# 查看所有的虚拟环境
conda env list

# 查看安装的 Python 包
conda list

# 激活
conda activate spark_env

# 退出虚拟环境
conda deactivate