[Scons-users] Virtualenv and Scons?

Bill Deegan bill at baddogconsulting.com
Fri Sep 6 17:16:17 EDT 2013


Larry,


So you want to run sphinx via python calls inside a SConstruct?
as in:
import sphinx
sphinx.do_something() ?

-Bill



On Fri, Sep 6, 2013 at 12:25 PM, Larry Gadallah <lgadalla at impinj.com> wrote:


>

>

>

> >Message: 1

> >Date: Thu, 5 Sep 2013 13:10:05 -0700

> >From: William Deegan <bill at baddogconsulting.com>

> >Subject: Re: [Scons-users] Virtualenv and Scons?

> >To: SCons users mailing list <scons-users at scons.org>

> >Message-ID:

> > <510C5085-C8E0-43D1-BBCC-50ECE10B73C2 at baddogconsulting.com>

> >Content-Type: text/plain; charset=us-ascii

> >

> >Larry,

> >On Sep 5, 2013, at 8:20 AM, Larry Gadallah <lgadalla at impinj.com> wrote:

> >

> >> Hello all:

> >>

> >> We use virtualenv quite extensively for building and testing, and I was

> >>wondering if it is possible (or advisable) to use virtualenv either as a

> >>wrapper around SCons or within an SConstruct file? I made a brief

> >>attempt to setup a virtualenv environment and then tried invoking SCons

> >>within it, and it did not seem to work. Is there a conflict between

> >>SCons use of Python and the "external" Python environment at work here?

> >

> >Can you show some examples of what you're trying to do (shell commands

> >and/or code)?

> >

> >-Bill

>

> Hello Bill:

>

> We have a local PyPI repo, and during builds, we use Python packages like

> Sphinx, so we typically have a build flow that looks like this:

>

> # Setup Python virtual environment

> virtualenv .env

> # Activate virtual Python environment

> source .env/bin/activate

> # Install local Python modules/packages

> pip install sphinx <other Python modules, etc.> -f <our PyPI repo URL>

> # Then here we call build scripts, Make, MSBuild (or possibly Scons)

> # This could look like any of the following:

> # make

> # source ./build.sh

> # call build.bat

> # MSBuild <solution file>

> # python setup.py build

> # nosetests test_script.py

> #

> # But the goal is to invoke Scons and have it invoke the above internally

> #

>

> I have also tried scons directives like this (bear in mind I'm an scons

> noob) to do things in the reverse order (i.e. Invoke virtualenv within

> scons instead of scons within a virtualenv):

>

> env = Environment()

>

> Command('.env', None, 'virtualenv $TARGET; source $TARGET/bin/activate; cd

> $TARGET; pip install sphinx -f <URL>')

>

> This seems to work, but in this case, the dilemma is that if I want to

> use, for example, sphinx in the Sconstruct file, I will need to import it,

> but before the virtualenv setup is done, it is not available to import.

>

> I'd like to be able to use Scons to have a self-contained, one-line build

> (i.e. scons <target>) instead of having to do the virtualenv setup outside

> of Scons.

>

> Thanks,

>

> --

> Larry Gadallah

> lgadalla at impinj.com

> x9706

>

>

>

>

>

>

>

> _______________________________________________

> Scons-users mailing list

> Scons-users at scons.org

> http://four.pairlist.net/mailman/listinfo/scons-users

>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://four.pairlist.net/pipermail/scons-users/attachments/20130906/6a262e62/attachment.htm


More information about the Scons-users mailing list