There is a problem with sitepackages=True, in this case the test dependency does not get installed in the test environment if it is already installed.
Any idea how to solve this?
Can you provide a more complete description of the situation including the tox screenlog?
I am testing py25 and py27 with the sitepackages=True option and with dependency *nosetests*. Nosetest is already installed in both environments. py27 is in my PATH. py25 is running with the wrong nosetests version:
[TOX] WARNING:test command found but not installed in testenv
Maybe forgot to specify a dependency?
Why do you think it's the wrong nosetests version?
The warning seems like correct behaviour because even with despite sitepackages=True tox assumes you only run commands that were installed to the virtualenv. If you want to maintain your setting and want to get rid of the warning tox would need something like a "command_whitelist" configuration which lists commands that should not be considered for warnings. If you want this, please open another issue. I am re-resolving this issue.
This is very annoying if you want to use makefiles. Can we have a way to disable this warning?
@hpk42 You didn't get the point. The problem is that the py25 environment runs the 2.7 "nosetests" command (because C:\Python27\Scripts is in my PATH) but it should use the 2.5 version. But the 2.5 version doesn't get installed in the tox environment because it is already installed in 2.5 site-packages.
@mitsuhiko i added a whitelist_externals=MULTI_LINE_LIST config variable for testenvs. Just put whitelist_externals=make to not get warnings anymore. or =* to ignore all missing commands. You can install the according tox version via: pip install -i http://pypi.testrun.org -U tox. Let me know if that is enough for your purposes or if you suggest a different config variable name.
@schlamar the wrongly picked up is a different issue. Will see to fix it separately and report back here.
i uploaded tox-1.5.dev11 to http://pypi.testrun.org -- it should make sure that commands are first searched in the virtualenv.
@hpk42 Well, the issue is that "nose" doesn't get installed in the first place because it is already in site-packages. And the test run picks the nose version from the PATH which is the wrong Python version.
A solution would be to add the "bin" directory of the current interpreter to the PATH after the "bin" of the venv. Not sure if this a sane solution though...