【问题标题】:AWS EMR: Zeppelin taking numpy version from python 2.7 instead of higher versionAWS EMR:Zeppelin 从 python 2.7 获取 numpy 版本而不是更高版本
【发布时间】:2021-10-20 18:01:26
【问题描述】:

我的 EMR (5.26.0) 集群上有 python 2.7(默认)和 python 3.6,下面是我的引导脚本。我正在安装 numpy 版本 1.18.5,我可以看到它正在安装在引导日志中。但是在 python3 包中,我看到它正在选择来自 Python 2.7 的 numpy 1.14.5。如果您看到下面的屏幕截图,我可以看到版本 1.18.5 dist。 python包目录中的文件,但二进制文件用于但实际的numpy版本有1.14.5的文件。

我正在使用 zeppelin notebook,并通过设置以下变量将我的解释器 python 和 pyspark 属性更改为使用 python 3,但是

PYSPARK_PYTHON = '/usr/bin/python3'
PYSPARK_DRIVER_PYTHON = '/usr/bin/python3'

# In zeppelin interpretor
zeppelin.pyspark.python='/usr/bin/python3'
#!/usr/bin/env bash
python3 -m pip uninstall botocore --user
python3 -m pip uninstall boto3 --user


sudo python3 -m pip install --upgrade pip

sudo python3 -m pip install botocore==1.13.38 --user

sudo python3 -m pip install h5py 
sudo python3 -m pip install keras==2.3.0 
sudo python3 -m pip install keras_applications==1.0.8 --no-deps
sudo python3 -m pip install keras_preprocessing==1.1.2 --no-deps

sudo python3 -m pip install tqdm 

sudo python3 -m pip install s3fs 
sudp python3 -m pip install ipaddress==1.0.23 
sudo python3 -m pip install netaddr==0.7.19 

sudo python3 -m pip install matplotlib

sudo python3 -m pip install pyarrow
sudo python3 -m pip install boto3
sudo python3 -m pip install torch==1.6.0
sudo python3 -m pip install --upgrade scipy==1.4.1
sudo python3 -m pip install torchvision
sudo python3 -m pip install pydot
sudo python3 -m pip install xlrd
sudo python3 -m pip install xlwt
sudo python3 -m pip install pandas
sudo python3 -m pip install scikit-learn
sudo python3 -m pip install scikit-multilearn 
sudo python3 -m pip install wrapt==1.12.0
sudo python3 -m pip install tensorflow==2.3.0
sudo python3 -m pip install tensorflow-gpu==2.0.0
sudo python3 -m pip install numpy==1.18.5


另外,当我列出包时,我看到它列出了1.18.5,但是 numpy version 命令显示1.14.5

如何强制 Python 选择更高版本的 numpy?

【问题讨论】:

  • 您使用哪种模式?纱线客户端或纱线集群?
  • 集群模式@zjffdu

标签: numpy pip amazon-emr apache-zeppelin


【解决方案1】:

终于让它与 emr-5.31.0 及以下引导配置一起使用,5.31+ 默认为 Python 3 和 numpy 1.16.5,即使 env 中存在 python 2。所以我得到了默认的更高版本的 numpy,它解决了我的交叉依赖问题。


sudo python3 -m pip install h5py==2.10.0
sudo python3 -m pip install keras==2.3.1
sudo python3 -m pip install keras_applications==1.0.8 --no-deps
sudo python3 -m pip install keras_preprocessing==1.1.0 --no-deps

sudo python3 -m pip install tqdm==4.40.0

sudo python3 -m pip install s3fs 
sudo python3 -m pip install ipaddress==1.0.23
sudo python3 -m pip install netaddr==0.7.19 

sudo python3 -m pip install matplotlib

sudo python3 -m pip install pyarrow==0.12.1
sudo python3 -m pip install boto3
sudo python3 -m pip install torch==1.6.0
sudo python3 -m pip install --upgrade scipy==1.4.1
sudo python3 -m pip install torchvision
sudo python3 -m pip install pydot==1.4.1
sudo python3 -m pip install xlrd
sudo python3 -m pip install xlwt
sudo python3 -m pip install pandas==1.2.0
sudo python3 -m pip install scikit-learn
sudo python3 -m pip install scikit-multilearn 
sudo python3 -m pip install wrapt==1.12.0
sudo python3 -m pip install tensorboard==2.1.0
sudo python3 -m pip install tensorflow==2.1.0
sudo python3 -m pip install tensorflow-estimator==2.1.0


【讨论】:

  • 那么,您使用的是 python 2 的 numpy 版本吗?可以分享configs.json吗? , PYSPARK_PYTHON" 是 "/usr/bin/python" ?
  • EMR 5.31 带有 numpy 1.16,在 spark 解释器中我设置了这些属性 "PYSPARK_PYTHON":"/usr/bin/python3" "PYSPARK_DRIVER_PYTHON":"/usr/bin/python3"
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-02-25
  • 1970-01-01
  • 1970-01-01
  • 2019-01-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多