Jira (PUP-1088) manage python virtualenvs

2014-01-05 Thread Jason Antman (JIRA)
Title: Message Title










 

 Jason Antman updated an issue











 






 Puppet /  PUP-1088



  manage python virtualenvs 










PUP-1062 adds (when it's done) virtualenv support to the built-in pip package provider. So that can handle installing packages (assuming they're on pypi, and specified in "packagename" or "packagename==version" format.
That's all relevant to installing packages (your python::app, sort of) in an already existing virtualenv. As to managing virtualenvs themselves, there are already a few modules out there that do this, though most of them are called "python" and also handle other python aspects, which may or may not be desired in a particular environment.
I'd say the best way to handle this is to finish PUP-1062, and then create an appropriate virtualenv provider (or just a defined type) as a module, hopefully to be picked up by puppetlabs.










Change By:

 Jason Antman




Component/s:

 Types and Providers




Labels:

 pip python redmine  virtualenv












   

 Add Comment











 










 This message was sent by Atlassian JIRA (v6.1.4#6159-sha1:44eaede)




 









 

Jira (PUP-1088) manage python virtualenvs

2013-12-16 Thread redmine.exporter (JIRA)
Title: Message Title










 

 redmine.exporter created an issue











 






 Puppet /  PUP-1088



  manage python virtualenvs 










Issue Type:

  New Feature




Assignee:


 Unassigned




Created:


 16/Dec/13 11:22 AM




Labels:


 redmine




Priority:

  Normal




Reporter:

 redmine.exporter










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))