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

Marius Gedminas marius at gedmin.as
Tue Jan 14 03:52:43 PST 2014


On Tue, Jan 14, 2014 at 10:20:07AM +0000, holger krekel wrote:
> On Tue, Jan 14, 2014 at 10:03 +0200, Marius Gedminas wrote:
> > I think I've got the same problem.
...
> > Here's the console output of 'tox -e py27 -vv':
> > https://jenkins.gedmin.as/job/restview-on-windows/14/console
> > 
> > Here's the tox log directory:
> > https://jenkins.gedmin.as/job/restview-on-windows/ws/.tox/py27/log/
> > (it only has a log of a successful virtualenv creation, it doesn't say
> > why it failed to install mock)
> 
> I am irritated why it doesn't display the executed command.
> Maybe a single "-v" will show it?

Different project, same problem; single -v doesn't show the command
either:
https://jenkins.gedmin.as/job/check-manifest-on-windows/26/console

> > I've a gut feeling that this is not tox's fault per se, but the unclear
> > error reporting is something that tox should improve.
> 
> Yes.  There seem to be new virtualenv/pip changes that cause this.
> Maybe tox should fixate its virtualenv instead of using a >= dependencies
> given the history of virtualenv/pip upgrade related issues.

It could be a bug in virtualenv 1.11.  I remember reading something
about script creation being broken there -- the scripts end up in your
system python or something.

However virtualenv 1.10 bundles pip 1.4.1, which doesn't work on my
Rackspace Windows VM (non-deterministic md5 hash errors for 99% of
downloads, you can check the build history).  I need pip >= 1.5.

> > BTW here's a curious fact: if I launch a command prompt manually and
> > run 'tox' in that directory, tox works! [*]  It fails only when I run it
> > from Jenkins. [+]
> > 
> >   [*] as in "runs tests", which fail, because Windows, but also tox
> >   emits some interesting complaints I don't quite understand --
> >     WARNING:test command found but not installed in testenv
> >     cmd: c:\python27\scripts\pip-script.py
> >     env: c:\buildslave\workspace\restview-on-windows\.tox\py27
> >     Maybe forgot to specify a dependency?
> > 
> >   [+] I think the difference might be that my ~/.bashrc adds
> >   c:/python27/scripts to $PATH, so when I run tox in Git Bash

This seems truncated, I think I meant to say "so when I run tox in Git
Bash it can find pip-script.py somewhere on $PATH".  If you check the
virtualenv directory in the Jenkins workspace [^], you'll see that
.tox/py27/scripts has a pip.exe but no pip-script.py.

  [^] https://jenkins.gedmin.as/job/check-manifest-on-windows/ws/.tox/py27/Scripts/

> > > Also you might try a new candidate:
> > > 
> > >     pip install -i https://devpi.net/hpk/dev/ "tox>=1.7.0.dev1"
> > 
> > "Could not find any downloads that satisfy" blah blah.  Probably pip 1.5
> > really really doesn't like installing stuff from not-PyPI, and I just
> > need to specify some magic option.
> 
> No, it was devpi-server that fails with pip-1.5.  I just fixed that
> and so the above tox-installation line should work now (it does for me).
> If you could repeat the run with tox-1.7.0.dev1 and "-v" that might help.

Here: https://jenkins.gedmin.as/job/check-manifest-on-windows/27/console

It fails to find virtualenv now.

Adding c:\python27;c:\python27\scripts to the PATH environment variable
in Jenkins slave configuration makes it work, with some warnings:
https://jenkins.gedmin.as/job/check-manifest-on-windows/28/console


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.

Marius Gedminas
-- 
I mean, if your program crashes when you get new mail, that is a sort of
notification.  It just might be too strong a message.
        -- http://vocamus.net/dave/?p=299
-------------- 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/32dcbae6/attachment.pgp>


More information about the testing-in-python mailing list