1. Holger Krekel
  2. tox
  3. Issues

Issues

Issue #160 on hold

Python 3.3 envs not properly installing requirements

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. mwchase

    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. Log in to comment