Use pyvenv instead of virtualenv.

This commit is contained in:
Darko Poljak 2016-04-13 08:24:44 +02:00
parent 2410b30b40
commit 49423e174b
3 changed files with 73 additions and 86 deletions

View file

@ -30,13 +30,6 @@ destination="/$__object_id"
owner="$(cat "$__object/parameter/owner")"
group="$(cat "$__object/parameter/group")"
mode="$(cat "$__object/parameter/mode")"
python="$(cat "$__object/parameter/python")"
if [ "$python" ]
then
python_opt="-p $python"
else
python_opt=""
fi
venvparams="$(cat "$__object/parameter/venvparams")"
[ "$state_should" = "$state_is" -a \
@ -46,9 +39,8 @@ venvparams="$(cat "$__object/parameter/venvparams")"
case $state_should in
present)
if [ "$state_should" != "$state_is" ]; then
echo virtualenv "$python_opt" $venvparams "$destination"
echo pyvenv $venvparams "$destination"
fi
if [ \( -n "$owner" -a "$owner_is" != "$owner" \) -o \
\( -n "$group" -a "$group_is" != "$group" \) ]; then

View file

@ -1,76 +1,71 @@
cdist-type__pyvenv(7)
==================
Darko Poljak <darko.poljak--@--gmail.com>
NAME
----
cdist-type__pyvenv - Create or remove python virtualenv
DESCRIPTION
-----------
This cdist type allows you to create or remove python virtualenv.
It assumes pip and virtualenv are already installed. Concrete packages
or installation procedures depend on concrete OS and/or OS
version/distribution.
Ensure this in your init manifest as in the following example:
--------------------------------------------------------------------------------
case "$__target_host" in
localhost)
__package python3-pip --state present
require="__package/python3-pip" __package_pip virtualenv --pip pip3 --state present
require="__package/python3-pip __package_pip/virtualenv" __pyvenv /home/darko/testenv --owner darko --group darko --mode 740 --state present
;;
--------------------------------------------------------------------------------
REQUIRED PARAMETERS
-------------------
None
OPTIONAL PARAMETERS
-------------------
state::
Either "present" or "absent", defaults to "present"
group::
Group to chgrp to.
mode::
Unix permissions, suitable for chmod.
owner::
User to chown to.
python::
Use specific python interpreter for creating virtualenv.
The default is the interpreter that virtualenv was installed with.
venvparams::
virtualenv specific parameters to pass to virtualenv invocation.
EXAMPLES
--------
--------------------------------------------------------------------------------
__pyvenv /home/services/djangoenv
# Create python virtualenv for user foo using specific python interpreter.
__pyvenv /home/foo/fooenv --group foo --user foo --python python2.6
# Create python virtualenv with specific parameters.
__pyvenv /home/services/djangoenv --venvparams "--relocatable --system-site-packages"
--------------------------------------------------------------------------------
SEE ALSO
--------
- cdist-type(7)
COPYING
-------
Copyright \(C) 2016 Darko Poljak. Free use of this software is
granted under the terms of the GNU General Public License version 3 (GPLv3).
cdist-type__pyvenv(7)
==================
Darko Poljak <darko.poljak--@--gmail.com>
NAME
----
cdist-type__pyvenv - Create or remove python virtual environment
DESCRIPTION
-----------
This cdist type allows you to create or remove python virtual environment using pyvenv.
It assumes python >= 3.3 is already installed. Concrete package depends on concrete OS
and/or OS version/distribution.
Ensure this for e.g. in your init manifest as in the following example:
--------------------------------------------------------------------------------
case "$__target_host" in
localhost)
__package python3 --state present
require="__package/python3" __pyvenv /home/darko/testenv --owner darko --group darko --mode 740 --state present
;;
--------------------------------------------------------------------------------
REQUIRED PARAMETERS
-------------------
None
OPTIONAL PARAMETERS
-------------------
state::
Either "present" or "absent", defaults to "present"
group::
Group to chgrp to
mode::
Unix permissions, suitable for chmod
owner::
User to chown to
venvparams::
Specific parameters to pass to pyvenv invocation
EXAMPLES
--------
--------------------------------------------------------------------------------
__pyvenv /home/services/djangoenv
# Create python virtualenv for user foo.
__pyvenv /home/foo/fooenv --group foo --user foo
# Create python virtualenv with specific parameters.
__pyvenv /home/services/djangoenv --venvparams "--copies --system-site-packages"
--------------------------------------------------------------------------------
SEE ALSO
--------
- cdist-type(7)
COPYING
-------
Copyright \(C) 2016 Darko Poljak. Free use of this software is
granted under the terms of the GNU General Public License version 3 (GPLv3).

View file

@ -18,7 +18,7 @@
# along with cdist. If not, see <http://www.gnu.org/licenses/>.
#
# It assumes pip and virtualenv are already installed. Concrete packages
# It assumes python >= 3.3 is already installed. Concrete packages
# or installation procedures depend on concrete OS and/or OS
# version/distribution.