web-dev-qa-db-ja.com

pip2の代わりにansibleを使用してpip3パッケージをインストールする

vagrantを使用してDjangoプロジェクトをansibleにセットアップしようとしています。pip packagesのインストールに次のコードを使用しました:

- name: Setup Virtualenv
  pip: virtualenv={{ virtualenv_path }} virtualenv_python=python3 requirements={{ virtualenv_path }}/requirements.txt

Djangoプロジェクトの場合はpython3を使用する必要があります。python3を使用することを明示的に述べたとしても、それはinstalling the pip packages via pip2です。python3が仮想マシン。

Pip3経由でパッケージをインストールするのを手伝ってください。

11
kamayani

executableオプションを使用してみてください。 pipモジュールからの抜粋 doc

executable(1.3で追加)

Pythonの特定のバージョンのpipを実行するために使用される実行可能ファイルへの明示的な実行可能ファイルまたはパス名。たとえば、両方がある場合Python 2.7および3.3をインストールし、Python 3.3をインストールする場合にpipを実行します。「virtualenv」パラメーター(2.1で追加)と一緒に指定することはできません。デフォルトでは、python ansibleによるインタプリタの使用に適切なバージョンが使用されます。たとえば、pip3 on python 3、およびpip2またはpip on python 2。

更新:

virtualenvパスと代替実行可能ファイルを組み合わせるには、次のようにvirtualenv_commandを使用します。

- pip:
    virtualenv: /tmp/py3
    virtualenv_command: /usr/bin/python3 -m venv
    name: boto

virtualenv_commandには絶対パスが必要です。

9