diff --git a/python-virtualenv/defaults/main.yml b/python-virtualenv/defaults/main.yml index 0f7833d..e757624 100644 --- a/python-virtualenv/defaults/main.yml +++ b/python-virtualenv/defaults/main.yml @@ -5,10 +5,10 @@ py_virtenv_pkgs: - python-pip - python-virtualenv -# py_virtenv_pip_pkgs: -# - pip_pkg_foo -# - pip_pkg_bar +py_virtenv_pip_pkgs: + - # py_virtenv_pip_requirements: "/tmp/foo/requirements.txt" - -py_virtenv_env_base_dir: "/tmp/foo" +# +# py_virtenv_env_base_dir: "/tmp/foo" +py_virtenv_env_base_dir: diff --git a/python-virtualenv/tasks/main.yml b/python-virtualenv/tasks/main.yml index efc6bba..2474b17 100644 --- a/python-virtualenv/tasks/main.yml +++ b/python-virtualenv/tasks/main.yml @@ -1,40 +1,34 @@ --- -- name: Install the python virtualenv packages - apt: name={{ item }} state={{ py_virtenv_pkgs_state }} - with_items: py_virtenv_pkgs - tags: [ "python", "py_virtenv" ] +- block: + + - name: Install the python virtualenv packages + apt: name={{ item }} state={{ py_virtenv_pkgs_state }} + with_items: '{{ py_virtenv_pkgs }}' -- name: Create the virtenv environments. - command: virtualenv {{ py_virtenv_env_base_dir }} - tags: [ "python", "py_virtenv" ] + - name: Create the virtenv environments. + command: virtualenv {{ py_virtenv_env_base_dir }} + when: '{{ py_virtenv_env_base_dir }} != ""' -- name: Install a list of pip packages inside the virtualenv, inherit the global site-packages - pip: name={{ item }} virtualenv={{ py_virtenv_env_base_dir }} virtualenv_site_packages=yes - with_items: py_virtenv_pip_pkgs - when: - - py_virtenv_pip_pkgs is defined - - py_virtenv_site - tags: [ "python", "py_virtenv" ] + - name: Install a list of pip packages inside the virtualenv, inherit the global site-packages + pip: name={{ item }} virtualenv={{ py_virtenv_env_base_dir }} virtualenv_site_packages=yes + with_items: '{{ py_virtenv_pip_pkgs | default ([]) }}' + when: py_virtenv_site -- name: Install a list of pip packages inside the virtualenv - pip: name={{ item }} virtualenv={{ py_virtenv_env_base_dir }} - with_items: py_virtenv_pip_pkgs - when: - - py_virtenv_pip_pkgs is defined - - not py_virtenv_site - tags: [ "python", "py_virtenv" ] + - name: Install a list of pip packages inside the virtualenv + pip: name={{ item }} virtualenv={{ py_virtenv_env_base_dir }} + with_items: '{{ py_virtenv_pip_pkgs | default ([]) }}' + when: not py_virtenv_site -- name: Install a list of pip packages inside the virtualenv from a requirements.txt file, inherit the global site-packages - pip: requirements={{ py_virtenv_pip_requirements }} virtualenv={{ py_virtenv_env_base_dir }} virtualenv_site_packages=yes - when: - - py_virtenv_pip_requirements is defined - - py_virtenv_site - tags: [ "python", "py_virtenv" ] + - name: Install a list of pip packages inside the virtualenv from a requirements.txt file, inherit the global site-packages + pip: requirements={{ py_virtenv_pip_requirements }} virtualenv={{ py_virtenv_env_base_dir }} virtualenv_site_packages=yes + when: + - py_virtenv_pip_requirements is defined + - py_virtenv_site -- name: Install a list of pip packages inside the virtualenv from a requirements.txt file - pip: requirements={{ py_virtenv_pip_requirements }} virtualenv={{ py_virtenv_env_base_dir }} - when: - - py_virtenv_pip_requirements is defined - - not py_virtenv_site - tags: [ "python", "py_virtenv" ] + - name: Install a list of pip packages inside the virtualenv from a requirements.txt file + pip: requirements={{ py_virtenv_pip_requirements }} virtualenv={{ py_virtenv_env_base_dir }} + when: + - py_virtenv_pip_requirements is defined + - not py_virtenv_site + tags: [ "python", "py_virtenv" ]