Issue #3572 has been updated by BenoƮt Allard.
Status changed from Closed to Re-opened
There is still no support for virtualenv.
While a simple naive exec:
exec { "virtualenv $location":
creates => [$location,
"${location}/bin/pip"]
}
Could create the env itself, feature #7286 is a blocker to be able to install
packages inside the virtualenv.
A generic implementation could involve the concept of chroot, or 'Virtual
Environment'.
Some reference:
http://www.virtualenv.org/en/latest/
----------------------------------------
Feature #3572: manage python virtualenvs
https://projects.puppetlabs.com/issues/3572#change-89650
* Author: Eric Drechsel
* Status: Re-opened
* Priority: Normal
* Assignee:
* Category: package
* Target version:
* Affected Puppet version: development
* Keywords: python pip
* Branch:
----------------------------------------
I've been puzzling over how to do python package management via puppet for
awhile now.
The obvious bit is to implement a package provider for python packages using
pip as the backend, using the gem provider as a template. The problem is that
most python developers (people who care enough to not just use their
distribution's python library packages) use VirtualEnv to maintain separate
environments per deployed application. With virtualenv, there is a 1-many
correspondence between nodes and python environments, which is incompatible
with package providers as I understand them.
Can some Puppet core person comment on how they would ideally model managed
virtualenvs under puppet?
just to get things working I'm planning to have two defines:
python::virtualenv(root, ...)
* just makes an empty env
python::app(root, source (vcs, tarball, or etc), virtualenv (could be None),
requirements (list or filename within package, in "pip freeze" format))
* install a python app, run pip to install dependency list
* derivative defines to config WSGI apps etc
Here are some references:
* http://github.com/rcrowley/puppet-python/blob/master/manifests/init.pp
(undocumented)
--
You have received this notification because you have either subscribed to it,
or are involved in it.
To change your notification preferences, please click here:
http://projects.puppetlabs.com/my/account
--
You received this message because you are subscribed to the Google Groups
"Puppet Bugs" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/puppet-bugs?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.