@@ -78,6 +78,7 @@ def virtualenv(
7878def packages (
7979 packages = None , present = True , latest = False ,
8080 requirements = None , pip = 'pip' , virtualenv = None , virtualenv_kwargs = None ,
81+ extra_install_args = None ,
8182 state = None , host = None ,
8283):
8384 '''
@@ -86,7 +87,7 @@ def packages(
8687 + packages: list of packages to ensure
8788 + present: whether the packages should be installed
8889 + latest: whether to upgrade packages without a specified version
89- + requirements: location of requirements file to install
90+ + requirements: location of requirements file to install/uninstall
9091 + pip: name or path of the pip directory to use
9192 + virtualenv: root directory of virtualenv to work in
9293 + virtualenv_kwargs: dictionary of arguments to pass to ``pip.virtualenv``
@@ -130,7 +131,10 @@ def packages(
130131
131132 # (un)Install requirements
132133 if requirements is not None :
133- yield '{0} install -r {1}' .format (pip , requirements )
134+ if present :
135+ yield '{0} -r {1}' .format (install_command , requirements )
136+ else :
137+ yield '{0} -r {1}' .format (uninstall_command , requirements )
134138
135139 # Handle passed in packages
136140 if packages :
0 commit comments