我正在尝试通过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
您可能想看看poise-python社区食谱。该菜谱允许您指定要使用的python和pip版本,并允许您使用菜谱的自定义资源通过pip安装python软件包。这是用于安装python 3的示例代码块:
python_runtime '3' do
version 3
action :install
end
然后您可以通过:]安装软件包
python_package 'datadog-checks-dev[cli]'
我假设您以root
用户身份运行Chef,因此您应该能够摆脱所有sudo
并乘法执行语句,而只需在execute
或bash
资源或什至更好的资源中执行所有操作:将package
资源用于yum作业。