[Openstack-operators] Packaging Virtualenvs
Silence Dogood
matt at nycresistor.com
Fri Jun 24 00:47:18 UTC 2016
I'll check out giftwrap. never heard of it. But interesting.
On Thu, Jun 23, 2016 at 7:50 PM, Xav Paice <xavpaice at gmail.com> wrote:
> Can I suggest that using the tool https://github.com/openstack/giftwrap
> might make live a bunch easier?
>
> I went down a similar path with building Debs in a venv using
> dh_virtualenv, with some good success when I sorted the shebang. I later
> found that the debs produced by Giftwrap are not only very easy to build
> and test, but also take a bunch less effort to maintain and create new
> packages for new things. To run the resulting code, I just symlink the
> ${venv}/bin/$binary to /usr/local/bin and run the thing using very
> similar init scripts to the ones supplied by the distro packages. Works
> like a charm, because the shebang in the binary points at the venv, not
> the system python.
>
> I do, however, package the init scripts, sample configs, etc in a
> separate .deb, which is really very quick and easy and allows me to
> control the bits I want to, and let Giftwrap take care of the OpenStack
> code repos.
>
>
> On Thu, 2016-06-23 at 23:40 +0000, Matt Joyce wrote:
> > I want the script to dynamically instantiate the venv is call activate
> > this at execution time and deactivate when done.
> >
> >
> >
> > On June 23, 2016 5:12:07 PM EDT, Doug Hellmann <doug at doughellmann.com>
> > wrote:
> > Excerpts from Silence Dogood's message of 2016-06-23 15:45:34
> -0400:
> > I know from conversations that a few folks package
> their python apps as
> > distributable virtualenvs. spotify created
> dh-virtualenv for this. you
> > can do it pretty simply by hand.
> >
> > I built a toolchain for building rpms as distributable
> virtualenvs and that
> > works really well.
> >
> > What I'd like to do is make it so that every app that's
> built as a
> > virtualenv gets setup to automatically execute at call
> time in their
> > virtualenv.
> >
> > I see two options:
> >
> > 1) Dynamically generate a wrapper script during build
> and put it in the
> > RPM. Call the wrapper.
> >
> > 2) Created a dependency global module ( as an rpm )
> set it as a
> > dependency. And basically it'd be an autoexecuting
> import that
> >
> > instantiates the virtualenv. it would probably know all
> it needs to
> > because I am building all my packages to an internal
> standard. Then when
> > building the APP rpm all I need to do is inject an
> import into the import
> > chain if it's being built as a virtualenv. Then I have
> what are
> > effectively statically compiled python apps.
> >
> > I like 2. But 1 isn't very bad. Both are a little
> hokey.
> >
> > Was curious if folks might have a preference, or a
> better idea.
> >
> > Thanks.
> >
> > Matt
> >
> > I'm not sure what you mean by a "wrapper script". If you run the
> > Python console script from within the virtualenv you've packaged,
> > you shouldn't need to do anything to "activate" that environment
> > separately because it should have the correct shebang line.
> >
> > Are you seeing different behavior?
> >
> > Doug
> >
> >
> > ______________________________________________________________
> >
> > OpenStack-operators mailing list
> > OpenStack-operators at lists.openstack.org
> >
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-operators
> >
> > _______________________________________________
> > OpenStack-operators mailing list
> > OpenStack-operators at lists.openstack.org
> > http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-operators
>
>
>
> _______________________________________________
> OpenStack-operators mailing list
> OpenStack-operators at lists.openstack.org
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-operators
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-operators/attachments/20160623/7a2ab9d8/attachment.html>
More information about the OpenStack-operators
mailing list