diff --git a/python-virtualenv/defaults/main.yml b/python-virtualenv/defaults/main.yml
index 6a991a3e..7481390a 100644
--- a/python-virtualenv/defaults/main.yml
+++ b/python-virtualenv/defaults/main.yml
@@ -1,11 +1,14 @@
 ---
-py_virtenv_install: True
 py_virtenv_pkgs_state: installed
+py_virtenv_site: False
 py_virtenv_pkgs:
   - python-pip
   - python-virtualenv
 
-py_virtenv_pip_pkgs:
+# py_virtenv_pip_pkgs:
+#   - pip_pkg_1
+#   - pip_pkg_2
 
-py_virtenv_env_path:
-  - /tmp
+# py_virtenv_pip_requirements: "/tmp/pippo/requirements.txt"
+
+py_virtenv_env_base_dir: "/tmp/pippo"
diff --git a/python-virtualenv/defaults/main.yml~ b/python-virtualenv/defaults/main.yml~
deleted file mode 100644
index e69de29b..00000000
diff --git a/python-virtualenv/tasks/main.yml b/python-virtualenv/tasks/main.yml
index 3ebf38e5..efc6bbad 100644
--- a/python-virtualenv/tasks/main.yml
+++ b/python-virtualenv/tasks/main.yml
@@ -3,3 +3,38 @@
   apt: name={{ item }} state={{ py_virtenv_pkgs_state }}
   with_items: py_virtenv_pkgs
   tags: [ "python", "py_virtenv" ]
+
+- name: Create the virtenv environments.
+  command: virtualenv {{ py_virtenv_env_base_dir }}
+  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
+  when:
+    - py_virtenv_pip_pkgs is defined
+    - 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
+  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 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
+  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" ]
+
diff --git a/python-virtualenv/tasks/main.yml~ b/python-virtualenv/tasks/main.yml~
deleted file mode 100644
index e69de29b..00000000