Python环境安装

环境构建

默认采用conda 构建 python虚拟环境。

conda 使用

可以使用 anaconda 或 miniconda。
anaconda:https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/
miniconda:https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/

  1. 下载,选一个喜欢的版本,我们以 anaconda为例。
  2. 安装。 bash Anaconda3-2022.10-Linux-x86_64.shconda要用azkaban运行账号装,或者装到一个 azkaban运行账号有权限的目录下,不然会有权限问题。
conda 创建虚拟环境
  1. conda创建虚拟环境,并安装必要包。-c 后面是安装的python module, 其中指定了 python=3.9 不然可能会在后续 conda pack时失败。

    # -c 后面是安装的python module, 其中指定了 python=3.9 不然可能会在后续 conda pack时失败
    # 指定3.9,但是小版本会随时间变化,比如3.9.18 \ 3.9.17
    conda create -y -n pyspark_env -c conda-forge pyarrow pandas conda-pack python=3.9
  2. 激活刚才的conda虚拟环境。第一次安装后激活可能报错,退出重进bash或者source activate。

    # 如果conda命令不能用,可以通过这个命令,临时刷新环境变量 
    # source /home/easyops/miniconda3/etc/profile.d/conda.sh
    conda activate pyspark_env
  3. 安装自定义的包。

    # 可以使用conda install(不要混用 pip install,可能会有未知的问题),可以指定源
    conda install --file requiremnets.txt -c conda-forge
    ######## requiremnets.txt 内容如下
    pyarrow
    pandas
    numpy
    scipy
    scikit-learn
    statsmodels
    cvxopt
    cvxpy
    matplotlib
    seaborn
    pyecharts
  4. 打包虚拟环境。用于后续spark提交时指定。

    conda pack -f -o pyspark_env.tar.gz

    此时会生成python的虚拟环境包。 INFO-安装python环境 - 图1

环境部署

  1. 上述conda 导出包拷贝到待部署的机器上。一般是Azkaban执行机。
  2. 解压到指定的部署目录,/home/hadoop/python/bdms_py3.9_base/ ,这个目录需要提前创建。
    tar zxvf pyspark_env.tar.gz -C /home/hadoop/python/bdms_py3.9_base/
  3. 增加软链。
    ln -s /home/hadoop/python/bdms_py3.9_base /home/hadoop/python/py_base

环境验证

  1. 通过 ls查看解压后的环境是否正常。例如:
  2. ls /home/hadoop/python/py_base/ -shlt INFO-安装python环境 - 图2

  3. 通过 source /opt/work/pyspark_env/bin/activate 激活环境。

  4. 通过 source /opt/work/pyspark_env/bin/deactivate 退出环境。

环境信息收集

用于将新部署的python环境注册到平台,从而用户可以在离线开发python节点编辑页面选择所需要的python环境。需联系运维人员进行相关操作。

字段 内容
激活命令 source ${部署目录}/bin/activate
退出命令 source ${部署目录}/bin/deactivate
python 版本 激活环境后,执行 python --version
python home 路径 即解压后的目录 ,例如上面的 /opt/work/pyspark_env/