You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在EMR 6.13.0运行PySpark脚本时遭遇Virtualenv执行失败错误

EMR 6.13.0 PySpark Virtualenv 错误修复方案

问题根源

你的bootstrap脚本里有一行错误的venv命令:

sudo python3 -m venv -d /usr/bin/virtualenv all

python3 -m venv并不支持-d参数,且你混淆了venv模块与virtualenv工具的用法,导致系统中virtualenv未正确配置,最终引发PySpark调用/usr/bin/virtualenv时失败。

修正步骤

1. 重写正确的bootstrap脚本

删除错误命令,改用标准安装流程,脚本如下:

#!/bin/bash
sudo yum update -y
# 先安装virtualenv工具
sudo python3 -m pip install virtualenv
# 安装所有依赖包
sudo python3 -m pip install pandas PyDictionary numpy nltk boto3 pyarrow venv-pack
# 下载NLTK全量数据
sudo python3 -m nltk.downloader -d /usr/share/nltk_data all

若需预先创建特定路径的virtualenv环境,可在脚本末尾添加(按需调整路径):

sudo virtualenv -p python3 /usr/bin/virtualenv/my_custom_env

2. 验证virtualenv安装状态

在EMR主节点执行以下命令,确认工具正常可用:

which virtualenv
virtualenv --version

正常情况下会输出/usr/bin/virtualenv路径及对应版本号。

3. 调整PySpark运行配置(可选)

若PySpark任务依赖自动创建virtualenv,提交任务时需明确指定virtualenv路径:

spark-submit \
  --conf spark.pyspark.virtualenv.enabled=true \
  --conf spark.pyspark.virtualenv.type=virtualenv \
  --conf spark.pyspark.virtualenv.bin.path=/usr/bin/virtualenv \
  your_spark_script.py

注意事项

EMR 6.13.0默认搭载Python 3.7,安装依赖时需注意版本兼容性,避免因依赖包版本过高导致安装失败。

内容的提问来源于stack exchange,提问作者Supriya R

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 09:00:57