Details
-
New Feature
-
Status: Closed
-
Normal
-
Resolution: Won't Fix
-
None
-
None
Description
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:
Attachments
Issue Links
- relates to
-
PUP-1062 Add virtualenv support to the pip package provider
-
- Closed
-
- clones