通过Chef recipe

时间:2017-05-22 08:09:17

标签: python linux chef chef-recipe cookbook

我正在尝试升级Linux Box中的Python版本。

[root@box1 ~]# python --version
Python 2.6.6 
[root@box1 ~]# 

我跑步:

yum install python27

并在此之后反映python 2.7版本,我正在运行:

scl enable python27 bash

为当前会议提供

[root@box1 ~]# python --version 
Python 2.7.8
[root@box1 ~]# 

当我尝试写厨师食谱时,我的食谱看起来像这样:

# install python27 package
yum_package 'python27' do
 action :install
end

# enable python27 bash
execute 'python27_bash' do
  command 'scl enable python27 bash'
end

我正在节点中调用这个食谱,但它没有升级到当前会话的python2.7。

1 个答案:

答案 0 :(得分:0)

因此,当您运行scl enable python27 bash时,它实际上是从您当前的shell生成一个新的Bash进程。由于SCL的工作方式,您只能为新流程启用它们。使用poise-python食谱来解决这个问题,它的python_runtime资源有一个SCL提供程序,可以为您处理内部魔法。