我正在尝试安装谷歌Tink在 AWS EMR 5.28.0 中没有太多运气。看起来 AWS EMR 映像本质上相当奇怪。有什么想法吗?
sc.install_pypi_package("tink")
错误:找不到 bazel 可执行文件。请安装 bazel 来编译 Tink Python 包。
sudo yum install -y bazel3
需要:java-11-openjdk-devel
sudo yum install java-11-openjdk-devel
没有可用的包 java-11-openjdk-devel。
sudo yum install amazon-linux-extras
没有可用的软件包 amazon-linux-extras。
答案1
事实证明,Linux AMI(AWS EMR 5.28.0 的基础)使用起来很麻烦。所有可用的存储库都没有 Java、Bezel,更不用说 Tinker 了(相比之下,Macos、Ubuntu 甚至 ECR Python 映像都很容易使用)
要获取 Java 11jdk,您需要前往 Oracle 并寻找 Linux x64 RPM 包。遗憾的是,您需要登录他们的网站,因此无法使用 wget/curl。
要安装您需要执行以下操作:
sudo yum localinstall jdk-11.0.12_linux-x64_bin.rpm
对于 Bazel,你需要从 Github 获取软件包https://github.com/bazelbuild/. 选择最新版本并安装
./bazel-4.1.0-installer-linux-x86_64.sh
然后 pip 工作正常
sc.install_pypi_package("tink")
输出:
Successfully built tink
Installing collected packages: protobuf, absl-py, tink
Successfully installed absl-py-0.13.0 protobuf-3.17.3 tink-1.6.1