Python 3.3 envs not properly installing requirements

Issue #160 on hold
Chris Hasenpflug created an issue

I have a private repo exhibiting this behavior, but I have been able to recreate it using several open source projects. For purposes of illustration I'm going to use https://github.com/django-extensions/django-extensions/.

To show the issue I have modified the tox.ini per this gist: https://gist.github.com/chrishas35/9611820. I changed the commands to be as follows:

commands =
    {envpython} -V
    which django-admin.py
    django-admin.py version
    {envpython} setup.py test

Running tox -r -e py27_django16 generates the following output for my additional commands:

py27_django16 runtests: commands[0] | /Volumes/Data/Users/chris/Developer/django-extensions/.tox/py27_django16/bin/python -V
Python 2.7.6
py27_django16 runtests: commands[1] | which django-admin.py
WARNING:test command found but not installed in testenv
  cmd: /usr/bin/which
  env: /Volumes/Data/Users/chris/Developer/django-extensions/.tox/py27_django16
Maybe forgot to specify a dependency?
/Volumes/Data/Users/chris/Developer/django-extensions/.tox/py27_django16/bin/django-admin.py
py27_django16 runtests: commands[2] | django-admin.py version
1.6.1

Running tox -r -e py33_django16 generates the following output for my additional commands:

py33_django16 runtests: commands[0] | /Volumes/Data/Users/chris/Developer/django-extensions/.tox/py33_django16/bin/python -V
Python 3.3.5
py33_django16 runtests: commands[1] | which django-admin.py
WARNING:test command found but not installed in testenv
  cmd: /usr/bin/which
  env: /Volumes/Data/Users/chris/Developer/django-extensions/.tox/py33_django16
Maybe forgot to specify a dependency?
/usr/local/bin/django-admin.py
py33_django16 runtests: commands[2] | django-admin.py version
WARNING:test command found but not installed in testenv
  cmd: /usr/local/bin/django-admin.py
  env: /Volumes/Data/Users/chris/Developer/django-extensions/.tox/py33_django16
Maybe forgot to specify a dependency?
1.6.1

What started me down this path was the dependency warning for django-admin.py when I know it should be installed in the env. The addition of which django-admin.py shows that Django has been not been installed into the env, but rather into my global python.

Verbose output shows that the installation is attempted with appropriate env pip:

py33_django16 installdeps: Django==1.6.1   /Volumes/Data/Users/chris/Developer/django-extensions$ /Volumes/Data/Users/chris/Developer/django-extensions/.tox/py33_django16/bin/pip install --pre Django==1.6.1 >/Volumes/Data/Users/chris/Developer/django-extensions/.tox/py33_django16/log/py33_django16-1.log

Alas, it's not being installed to the env as .tox/py33_django16/bin/pip freeze returns an empty list.

Comments (4)

  1. m

    I've encountered this, and found a small tox.ini that reproduces it easily:

    [tox]
    envlist = py33, py27
    skipsdist = True
    
    [testenv]
    deps = tox
    commands = tox --version
    

    For me, this fails to install tox in the py33 env, but it succeeds in installing it on py27.

  2. Holger Krekel repo owner

    Could you state which pip versions you use in the env? If you could bisect the precise tox version that started failing that would be very helpful.

  3. Log in to comment