我正在尝试升级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。
答案 0 :(得分:0)
因此,当您运行scl enable python27 bash
时,它实际上是从您当前的shell生成一个新的Bash进程。由于SCL的工作方式,您只能为新流程启用它们。使用poise-python
食谱来解决这个问题,它的python_runtime
资源有一个SCL提供程序,可以为您处理内部魔法。