[TIP] virtualenv 1.11 causes tox to fail while installing dependencies on Windows 7

Marius Gedminas marius at gedmin.as
Tue Jan 14 07:41:37 PST 2014


On Tue, Jan 14, 2014 at 12:58:40PM +0000, holger krekel wrote:
> On Tue, Jan 14, 2014 at 12:09 +0000, holger krekel wrote:
> > On Tue, Jan 14, 2014 at 12:01 +0000, Paul Moore wrote:
> > > On 14 January 2014 11:52, Marius Gedminas <marius at gedmin.as> wrote:
> > > > I think Chris filed https://github.com/pypa/virtualenv/issues/539 about
> > > > the same issue -- I still don't know if it's a tox bug, or a virtualenv
> > > > bug.
> > > 
> > > Looks like a tox issue - see my comment on
> > > https://github.com/pypa/virtualenv/issues/539
> > 
> > tox doesn't look for "pip-script.exe".  It looks for "pip.exe" in PATH,
> > including the virtualenv's script dir on windows.  I can't spend much time
> > to look into the issue this week but can hopefully try it next week.
> > It's all quite confusing with the versions and upgrade issues ATM.
> 
> just checked and have to correct myself.  Indeed, pip-script.exe
> is looked up on windows -- the code came in via a PR trying to
> avoid locking the executable.  IIRC some folks wanted to be able
> to install a different pip version via deps.
> 
> Anyone i just pused a tox-1.7.0.dev2 which you can install via:
> 
>     pip install --pre -i https://devpi.net/hpk/dev/ -U "tox>=1.7.0.dev2"
> 
> and it should now just lookup "pip" and no the -script one on windows.

Yup: upgraded and now tox doesn't emit those warnings any more.

Thank you very much!

> I guess this means that one cannot upgrade pip from within tox anymore
> on windows but it's a somewhat rare use case and might have only been
> there for downgrading pip for python2.5 (which is not supported 
> by tox anymore).

That's a pip bug anyway: https://github.com/pypa/pip/issues/1299
Maybe they'll come up with some clever solution.

> let me know if this fixes things.

I found a way to solve my tox-on-Windows issues a bit earlier in the
thread (set PATH in the Jenkins build slave configuration tab, in
environment settings).  This fixes the remaining warning.

> > But Marius, Paul: to be sure i got it correctly: you are using tox-1.7.0.dev1
> > and virtualenv-1.11 and pip-1.5 on your Jenkins/Windows server, right?
> > And it works without jenkins and fails with it?

I still believe the difference between Jenkins and non-Jenkins was my
%PATH% setting.

I couldn't reproduce the original "cannot install dependencies: mock"
error with tox 1.7.0.dev1 anyway -- with %PATH% set to include c:\python
it would work (with those warnings), and without the custom %PATH% it
would fail much sooner, while attempting to create the virtualenv.

I tried 'PATH= /c/python27/scripts/tox' in Git Bash with tox 1.7.0.dev2
and here are the results:

 - if the virtualenv was created by a previous run of tox, this command
   builds an sdist and runs tests successfully
 - if I ask to rebuild the virtualenv, it fails by not being able to
   find a 'virtualenv' command

I haven't actually tested what happens if the virtualenv exists but
lacks dependencies, and I don't have my %PATH% modification.  I think
it will work correctly with 1.7.0.dev2.

(BTW I really like having the %PATH% set up correctly for Jenkins jobs
-- this means I can run 'tox' and not 'c:\python2.7\scripts\tox' in my
build scripts).

Marius Gedminas
-- 
I need a word processor on my laptop like I need a Selectric typewriter in my
laptop bag.
        -- Don Marti
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 190 bytes
Desc: Digital signature
URL: <http://lists.idyll.org/pipermail/testing-in-python/attachments/20140114/f5111b4b/attachment.pgp>


More information about the testing-in-python mailing list