使用Chef安装并启用python 3

问题描述 投票:0回答:2

我正在尝试通过Chef安装python,这是Runbook

sudo yum -y install centos-release-scl
sudo yum -y install rh-python36
sudo scl enable rh-python36

第四步需要python3。当我手动执行此操作时,它按预期工作,但是无论如何,当我通过厨师进行操作时,它仍然认为它是python 2.7,因此在第四步失败。我该如何解决?

execute "install centos-release-scl" do
    command "sudo yum -y install centos-release-scl"
    action :run
  end

  execute "install rh-python36" do
    command "sudo yum -y install rh-python36"
    action :run
  end

  execute "enable rh-python3" do
    command "sudo scl enable rh-python36 bash"
    action :run
  end

  execute "pip install dd-check-dev" do
    command "pip install 'datadog-checks-dev[cli]'"
    action :run
  end
chef chef-recipe
2个回答
0
投票

您可能想看看poise-python社区食谱。该菜谱允许您指定要使用的python和pip版本,并允许您使用菜谱的自定义资源通过pip安装python软件包。这是用于安装python 3的示例代码块:

python_runtime '3' do
  version 3
  action :install
end

然后您可以通过:]安装软件包

python_package 'datadog-checks-dev[cli]'

0
投票

我假设您以root用户身份运行Chef,因此您应该能够摆脱所有sudo并乘法执行语句,而只需在executebash资源或什至更好的资源中执行所有操作:将package资源用于yum作业。

© www.soinside.com 2019 - 2024. All rights reserved.