Как установить Python 3.5 в шеф-повар

Я пытаюсь установить python 3.5 в рецепте шеф-повара. Я попытался использовать кулинарную книгу poise-python. После прочтения документации. Я попробовал следующую команду, но она не устанавливает python 3.5. Он устанавливает python2.7

python_runtime 'python3' do
version '3.5'
end

Выход

 * python_runtime[python3] action install
   * poise_languages_scl[rh-python35] action install
     * yum_package[centos-release-scl-rh] action upgrade
- upgrade package centos-release-scl-rh from uninstalled to 2-2.el7.centos
     * ruby_block[flush_yum_cache] action run
- execute the ruby block flush_yum_cache
     * yum_package[rh-python35] action install
- install version 2.0-2.el7 of package rh-python35
     * yum_package[rh-python35-python-devel] action install (up to date)

   * python_runtime_pip[python3] action install (up to date)
   * python_package[setuptools] action install (up to date)
   * python_package[wheel] action install
     - install version 0.29.0 of package wheel

Любая помощь будет оценена по достоинству. Я могу пойти по пути использования execute для запуска команд установки, но предпочел бы использовать поваренную книгу.


person Jeetendra Pujari    schedule 21.12.2016    source источник
comment
не так питон, но пасты журнала предполагают, что он уже есть (3.5). python2.7 может быть системным python по умолчанию, который поставляется с centos/rhel 7.   -  person OK999    schedule 21.12.2016


Ответы (2)


Как вы можете видеть в журнале, он устанавливает 3.5 через пакеты SCL. Я предполагаю, что вы думаете, что это 2.7, потому что после этого вы запускаете /usr/bin/python -v вручную. Это не то, как вы используете пакеты SCL, запустите scl enable rh-python35 "python -v", и вы увидите 3.5. Кулинарная книга делает это за вас внутренне.

person coderanger    schedule 21.12.2016
comment
Понятно. Есть ли способ включить его глобально? поваренная книга только устанавливает пакет. - person Jeetendra Pujari; 21.12.2016
comment
Это глобально внутри Chef, когда вы используете другие ресурсы из poise-python. К сожалению, вы не можете просто добавить двоичные файлы пакета SCL к своему пути, если вы это имеете в виду. - person coderanger; 21.12.2016

Другой альтернативой может быть создание виртуальной среды с использованием python_runtime, например:

python_runtime 'python2' do
  version '2.7'
  action :install
end

python_virtualenv "/mnt/env/python2" do
 user "root"
 python 'python2'
 action :create
end

И теперь, если вы активируете virtualenv:

source /mnt/env/python2/bin/activate

И проверьте версию Python:

python -v

Он будет таким же, как установленный.

person Jyoti Dhiman    schedule 12.09.2017