TOOCS.python

ビルドステータス Ansibleロール

TOOCS / Ansibleロール: TOOCS.python

/!\ このロールの名前が変更されました - 旧名: FlorianKempenich.python-virtualenv /!\

  • asdf(またはpyenv)を使用して複数のバージョンのPythonをインストール
  • すべてのバージョンのためにpipenvをインストール
  • オプション: デフォルトのPythonバージョンのためにグローバルpipパッケージをインストール

TOOCSとは?

TOOCS - Opinionated One-Click Setupsは、システムをワンクリックでセットアップするためのツールやAnsibleロールのセットです。それらは特定のツールをセットアップするための簡単で信頼性のある方法です。そのまま使用することもでき、コードを確認してステップバイステップのチュートリアルとして使うこともできます。

名前が示す通り、意見が反映されています: 特定のツールをワンクリックでセットアップすることを保証しますが、どのように実現するかの一貫性は保証しません。新しいリリースでは破壊的な変更が導入される可能性があります。
コードを読み、何が起こっているかを理解してください!

要件

このロールはMacOSXとUbuntu/Debianでのみ動作します。

ロール変数

  • python_versions

  • global_pip_packages

    • インストールするpipパッケージのリスト
    • パッケージはデフォルトのPythonバージョン(リストの最初)にのみインストールされます
    • デフォルト: []
  • installation_method

  • asdf_skip_shell_setup

    • asdfをインストールする際のシェル設定をスキップします
    • インストール方法を参照してください
    • デフォルト: False

インストール方法

asdf

asdfバージョンマネージャを使用した推奨かつデフォルトのインストール方法

asdfのインストールと設定、およびPythonのインストールは別のTOOCSに委任されています: TOOCS.asdf

このTOOCSは、オプションのグローバルpipモジュールのインストールのみを担当します。

インストール後 - asdfを使ったシェル設定

  • zshを使用している場合、すべて準備完了です! asdfのインストール中にシェルが自動的に設定されました。

  • zshを使用していない場合は、手動で設定が必要です。: TOOCS/asdf - 非zshユーザー

  • あるいは、すでにマシンにasdfがセットアップされている場合、asdfの自動シェル設定をスキップすることを検討してください => 変数asdf_skip_shell_setupTrueに設定します。


pyenv

pyenvバージョンマネージャを使用した代替方法

インストール後 - pyenvを使ったシェル設定

pyenvは異なるPythonバージョンの管理に使用されるため、シェル内で有効化する必要があります。

次の行を対応するファイルに追加してください:

  • ~/.zshrc / ~/.bashrc

export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
  • ~/.zlogin / ~/.bash_profile

if command -v pyenv 1>/dev/null 2>&1; then
    eval "$(pyenv init -)"
fi

初期化をこれらの2つのファイルに分ける理由は、pyenvpipenvの両方でスムーズに機能させるためです。この方法で、pyenvの有効化は各ログインシェルで1回だけ行われ、pipenv shellで始まるサブシェルに干渉することはありません。
詳しくはこちら: Pyenvの問題 #184 - 'pipenv shell'内での間違ったPython


サンプルプレイブック

- hosts: localhost
  tasks:
    - include_role:
        name: TOOCS.python
      vars:
        python_versions:
          - 3.7.0
          - 2.7.15
        global_pip_packages:
          - cheat
          - howdoi
          - ansible-droplet


# または

- hosts: localhost
  tasks:
    - include_role:
        name: TOOCS.python
      vars:
        python_versions:
          - 3.7.0
        installation_method: asdf
        asdf_skip_shell_setup: True

# または

- hosts: localhost
  tasks:
    - include_role:
        name: TOOCS.python
      vars:
        python_versions:
          - 3.7.0
        installation_method: pyenv

ライセンス

MIT

著者情報

Twitterでフォローしてください: @ThisIsFlorianK
私の仕事についてもっと知りたい方はこちら: Florian Kempenich - 個人ウェブサイト

プロジェクトについて

Install multiple versions of Python with some optional global packages

インストール
ansible-galaxy install TOOCS.python
ライセンス
mit
ダウンロード
117
所有者
The Opinionated One-Click Setups - TOOCS - Logo made with DesignEvo (www.designevo.com)