[PYTHON] Playbook Ansible pour installer et configurer `pyenv`

introduction

CentOS6 python version 2.6.6? Ensuite, le module installé par pip Certaines choses n'ont pas fonctionné, alors installez pyenv et mettez à niveau la version python. J'ai créé un playbook Ansible pour CentOS6. Cliquez ici pour rbenv http://qiita.com/tbuchi888/items/fd2e8d7e1790d398b281

Principales étapes de construction

Procédez comme suit en tant que root pour CentOS6

  1. Installation de pyenv
  2. Installation de la version 2.7.8 de python

playbook, Vagrantfile (provisoner Ansible), etc.

gits sera ici. git clone https://gist.github.com/tbuchi888/03f2dccdd7726770cb0522260141ca41

site.yml


---
 - include: install_pyenv_without_proxy.yml

La version de python est spécifiée dans le playbook vars: python_ver: 2.7.8 ci-dessous, veuillez donc la modifier comme il convient.

install_pyenv_without_proxy.yml


---
- hosts: all
  gather_facts: no
  become: yes
  vars:
    python_ver: 2.7.8
  tasks:
    - name: which pyenv
      shell:  source ~/.bash_profile; which pyenv
      register: pyenv_install
      failed_when: pyenv_install.rc == 0
    - debug: var=pyenv_install

    - block:
        - debug: msg="---------- block start ----------"
        - name: yum install with_items
          yum:
            name:  '{{ item.name }}'
            state: latest
          register: RESULT
          with_items:
            - name: gcc
            - name: gcc-c++
            - name: make
            - name: git
            - name: openssl-devel
            - name: bzip2-devel
            - name: zlib-devel
            - name: readline-devel
            - name: sqlite-devel
            - name: bzip2
            - name: sqlite
            - name: patch
        - name: results
          debug: var=RESULT.results

        - name: git clone pyenv , pyenv-virtualenv
          git:
            repo: '{{ item.repo }}'
            dest: '{{ item.dest }}'
          register: RESULT
          with_items:
            - repo: git://github.com/yyuu/pyenv.git
              dest: ~/.pyenv
            - repo: git://github.com/yyuu/pyenv-virtualenv.git
              dest: ~/.pyenv/plugins/pyenv-virtualenv
        - name: results
          debug: var=RESULT.results

        - name: "install pyenv and python ver.{{ python_ver }}"
          shell: '{{ item.cmd }}'
          register: RESULT
          with_items:
            - cmd: echo 'export PYENV_ROOT="${HOME}/.pyenv"' >> ~/.bash_profile
            - cmd: echo 'if [ -d "${PYENV_ROOT}" ]; then' >> ~/.bash_profile
            - cmd: echo '    export PATH=${PYENV_ROOT}/bin:$PATH' >> ~/.bash_profile
            - cmd: echo '    eval "$(pyenv init -)"' >> ~/.bash_profile
            - cmd: echo 'fi' >> ~/.bash_profile
            - cmd: source ~/.bash_profile; pyenv -v
            - cmd: source ~/.bash_profile; python -V
            - cmd: source ~/.bash_profile; pyenv install '{{ python_ver }}'
            - cmd: source ~/.bash_profile; pyenv global '{{ python_ver }}'
            - cmd: source ~/.bash_profile; python -V
        - name: results
          debug: var=RESULT.results

        - debug: msg="---------- block end   ----------"

      when: pyenv_install.rc == 1

Ce qui suit est pour l'environnement Vagrant Ce qui suit est «vagrant up» pour démarrer le serveur de CentOS 6 et créer l'environnement pyenv à l'aide d'Ansible provisoner.

Pour le nom du fichier de boîte, remplacez-le par le nom de fichier de boîte de CentOS 6 dans votre environnement. Surtout dans le cas d'un environnement de machine 32 bits, veuillez le remplacer par le nom de fichier de la boîte de votre propre version 32 bits CentOS6.

Vagrantfile

# -*- mode: ruby -*-
# vi: set ft=ruby :

Vagrant.configure(2) do |config|
  # Every Vagrant development environment requires a box. You can search for
  # boxes at https://atlas.hashicorp.com/search.
  # Please replace it with a BOX name of CentOS6 for one's own 32bit when your host is 32bit machine.
  config.vm.box = "geerlingguy/centos6"

  # Add ansible provisioner
  config.vm.provision "ansible" do |ansible|
    ansible.playbook = "site.yml"
  end
end

Comment utiliser

-Dans le cas de l'environnement Vagrant où le provisoner Ansible peut être utilisé sur OSX etc. -Veuillez préparer le livre de jeu ci-dessus et d'autres matériaux avant de «vagabonder». -Pour environnement Ansible uniquement -Préparez votre propre fichier hôte d'inventaire et exécutez le playbook sur le serveur CentOS 6. ʻAnsible-playbook -i fichier d'inventaire site.yml`

Environnement d'exécution pour les playbooks ci-dessus, etc.

Ansible provisioner and Vagrant,Virtulbox Host  - OS:OSX yosemite --Virtualbox: Version 5.0.10 r104061  - Vagrant: Vagrant 1.8.1  - Ansible:

$ansible --version
ansible 2.1.0 (devel c600ab81ee) last updated 2016/04/20 11:11:25 (GMT +900)
  lib/ansible/modules/core: (detached HEAD 98322a777f) last updated 2016/04/20 11:11:54 (GMT +900)
  lib/ansible/modules/extras: (detached HEAD 1aecfc1e19) last updated 2016/04/20 11:11:55 (GMT +900)
  config file = 
  configured module search path = Default w/o overrides

pyenv install Server - OS: CentOS6.8

Recommended Posts

Playbook Ansible pour installer et configurer `pyenv`
Installez pyenv et pyenv-virtualenv
Installation d'Ansible
Comment installer et configurer Blackbird
Installer et configurer le serveur TigerVNC sous Linux
Installez pyenv et Python 3.6.8 sur Ubuntu 18.04 LTS
Installez pyenv et rbenv à l'échelle du système sur CentOS
Installez pyenv sur Mac
Installez la dernière version stable de Python avec pyenv (à la fois 2 et 3)
Installez pyenv sur Raspberry Pi pour gérer Python
Installez pyenv sur OSX
Installez pyenv sur MacBookAir et basculez Python à utiliser
Mécanisme de pyenv et virtualenv
Installez Python et Flask (Windows 10)
Installer ansible à partir du code source
Lorsque pyenv installe BUILD FAILED
Notes sur pyenv et Atom
Installez Python 3.7 et Django 3.0 (CentOS)
Coexistence de pyenv et autojump
Installez pyenv depuis Homebrew, installez Python depuis pyenv
python avec pyenv et venv
Catalina sur Mac et pyenv
Playbook Ansible pour configurer les préférences Python à l'aide de pyenv sur Mac
[Résolu] ImportError: Aucun module nommé pyexpat et pyenv install n'est moss