Ich habe Python gestartet. Ich fand heraus, dass es eine bequeme Sache gibt, die sowohl pyenv als auch rbenv heißt. Die Nutzung war fast die gleiche, also habe ich daraus ein Spielbuch gemacht.
ansible ist 2.0.2. Python ist 3.5.1.
main.yml
---
- hosts: localhost # hostname
become: no
gather_facts: no
vars:
python_version: "3.5.1"
tasks:
- include: tasks/python.yml
tasks/python.yml
---
- name: Install basic python packages
homebrew: name=pyenv
- name: Check installed Python version
shell: "pyenv versions | grep {{python_version}} > /dev/null; echo $?"
ignore_errors: true
register: python_is_installed
changed_when: python_is_installed.stdout != '0'
- name: Install Python
shell: "pyenv install {{python_version}}"
args:
creates: ~/.pyenv/versions/{{python_version}}/bin/python
- name: Check Python version
shell: "python --version | grep {{python_version}} > /dev/null; echo $?"
register: is_correct_version
changed_when: is_correct_version.stdout != '0'
- name: Switch Python version
shell: "pyenv global {{python_version}} && pyenv rehash"
when: is_correct_version.stdout != '0'
- name: pyenv init
shell: 'eval "$(pyenv init -)"'
changed_when: is_correct_version.stdout != '0'
Sehr leicht. (Obwohl es ein Shell-Skript ist, das nicht sehr schön ist)
Wenn Sie dies vorerst treffen, können Sie pyenv und python 3.5.1 setzen und einrichten.
Danach schreiben Sie manuell "eval $ (pyenv drin)" in ".bash_profile" usw. und Sie sind fertig.
In meinem Fall bringe ich Dotfiles an verschiedene Orte
if [ `which pyenv` ]; then
eval "$(pyenv init - --no-rehash)" # adding --no-rehash makes this faster
fi
Es wird gesagt.
Ich habe einen Mac-Provisioner erstellt, der diese Python-Einstellung enthält. Wenn Sie also interessiert sind, bitte.
ikuwow/mac-provision: Provisioner of My Mac. https://github.com/ikuwow/mac-provision
Recommended Posts