首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >aws emr中的Virtualenv -无服务器

aws emr中的Virtualenv -无服务器
EN

Stack Overflow用户
提问于 2022-07-18 12:12:45
回答 1查看 661关注 0票数 1

我正在使用一个安装了一些库的虚拟环境在aws上运行一些作业。我跟着这个指南这里也是。但是当我运行作业时,我有一个错误:

代码语言:javascript
复制
Job execution failed, please check complete logs in configured logging destination. ExitCode: 1. Last few exceptions: Caused by: java.io.IOException: error=2, No such file or directory Exception in thread "main" java.io.IOException: Cannot run program "./environment/bin/python"

我也尝试了/home/hadoop/environment/bin/python作为路径,但是我获得了相同的结果。我的工作是:

代码语言:javascript
复制
--conf spark.archives=s3://mybucket/dependencies/myenv.tar.gz#environment --conf spark.emr-serverless.driverEnv.PYSPARK_DRIVER_PYTHON=./environment/bin/python --conf spark.emr-serverless.driverEnv.PYSPARK_PYTHON=./environment/bin/python --conf spark.emr-serverless.executorEnv.PYSPARK_PYTHON=./environment/bin/python

如果我在工作中

代码语言:javascript
复制
os.listdir("./environment/bin/)

结果是

代码语言:javascript
复制
['python3.9', 'pip', 'pip3.9', 'rst2xetex.py', 'rstpep2html.py', 'f2py3', 'rst2latex.py', 'f2py', 'rst2odt.py', 'rst2html4.py', 'pip3', 'aws', 'python3', 'jp.py', 'rst2odt_prepstyles.py', 'pyrsa-encrypt', 'activate', 'rst2man.py', 'pyrsa-priv2pub', 'python', 'pyrsa-keygen', 'pyrsa-verify', 'rst2html.py', 'aws_completer', 'f2py3.9', 'venv-pack', 'rst2pseudoxml.py', 'aws_bash_completer', 'aws_zsh_completer.sh', 'aws.cmd', 'rst2s5.py', 'rst2xml.py', 'pyrsa-decrypt', 'rst2html5.py', 'Activate.ps1', '__pycache__', 'pyrsa-sign']

所以路径应该是正确的。我还尝试将脚本中的PYSPARK_DRIVER_PYTHON设置为

代码语言:javascript
复制
os.environ['PYSPARK_PYTHON'] = "./environment/bin/python"
os.environ['PYSPARK_DRIVER_PYTHON'] = "./environment/bin/python"

但在本例中,错误是当我导入我安装在虚拟环境中的库时,所以它使用标准python运行脚本。

你能帮帮我吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-07-21 04:52:38

问题是您可能还没有使用Amazon 2来创建venv。使用Amazon和Python3.7.10为我做到了这一点。

作为详细的这里,您可以使用类似于这个停靠文件来生成这样一个venv。您最好使用requirements.txt使其更可重用,但它给您提供了一个想法。

代码语言:javascript
复制
FROM --platform=linux/amd64 amazonlinux:2 AS base

RUN yum install -y python3

ENV VIRTUAL_ENV=/opt/venv
RUN python3 -m venv $VIRTUAL_ENV
ENV PATH="$VIRTUAL_ENV/bin:$PATH"

RUN python3 -m pip install --upgrade pip && \
    python3 -m pip install \
    great_expectations==0.15.6 \
    venv-pack==0.2.0

RUN mkdir /output && venv-pack -o /output/pyspark_ge.tar.gz

FROM scratch AS export
COPY --from=base /output/pyspark_ge.tar.gz /
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73022149

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档