$ virtualenv .venv created virtual environment CPython3.6.8.final.0-64 in 243ms creator CPython3Posix(dest=/tmp/grenade/.venv, clear=False, no_vcs_ignore=False, global=False) seeder FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=/home/centos/.local/share/virtualenv) added seed packages: pip==21.0.1, setuptools==53.0.0, wheel==0.36.2 activators BashActivator,CShellActivator,FishActivator,PowerShellActivator,PythonActivator,XonshActivator $ source .venv/bin/activate (.venv)$ (.venv)$ pip install tox==1.6 Collecting tox==1.6 Downloading tox-1.6.0.tar.gz (130 kB) |████████████████████████████████| 130 kB 8.6 MB/s Collecting virtualenv>=1.9.1 Downloading virtualenv-20.4.3-py2.py3-none-any.whl (7.2 MB) |████████████████████████████████| 7.2 MB 8.6 MB/s Collecting py>=1.4.15 Using cached py-1.10.0-py2.py3-none-any.whl (97 kB) Collecting appdirs<2,>=1.4.3 Using cached appdirs-1.4.4-py2.py3-none-any.whl (9.6 kB) Collecting importlib-resources>=1.0 Using cached importlib_resources-5.1.2-py3-none-any.whl (25 kB) Collecting six<2,>=1.9.0 Using cached six-1.15.0-py2.py3-none-any.whl (10 kB) Collecting filelock<4,>=3.0.0 Using cached filelock-3.0.12-py3-none-any.whl (7.6 kB) Collecting importlib-metadata>=0.12 Downloading importlib_metadata-3.7.3-py3-none-any.whl (12 kB) Collecting distlib<1,>=0.3.1 Using cached distlib-0.3.1-py2.py3-none-any.whl (335 kB) Collecting typing-extensions>=3.6.4 Using cached typing_extensions-3.7.4.3-py3-none-any.whl (22 kB) Collecting zipp>=0.5 Using cached zipp-3.4.1-py3-none-any.whl (5.2 kB) Building wheels for collected packages: tox Building wheel for tox (setup.py) ... done Created wheel for tox: filename=tox-1.6.0-py3-none-any.whl size=83392 sha256=91ed81c3f702f53062da0188f19b02b5939747f82bbd27307a07a54171022e62 Stored in directory: /home/centos/.cache/pip/wheels/29/8e/6f/9c42a50c15020383a4da5cda84e3d3206b82aa4e4d6f25c3ab Successfully built tox Installing collected packages: zipp, typing-extensions, six, importlib-resources, importlib-metadata, filelock, distlib, appdirs, virtualenv, py, tox Successfully installed appdirs-1.4.4 distlib-0.3.1 filelock-3.0.12 importlib-metadata-3.7.3 importlib-resources-5.1.2 py-1.10.0 six-1.15.0 tox-1.6.0 typing-extensions-3.7.4.3 virtualenv-20.4.3 zipp-3.4.1 (.venv)$ tox -edocs Traceback (most recent call last): File "/tmp/grenade/.venv/bin/tox", line 8, in sys.exit(cmdline()) File "/tmp/grenade/.venv/lib/python3.6/site-packages/tox/_cmdline.py", line 25, in main config = parseconfig(args, 'tox') File "/tmp/grenade/.venv/lib/python3.6/site-packages/tox/_config.py", line 44, in parseconfig parseini(config, inipath) File "/tmp/grenade/.venv/lib/python3.6/site-packages/tox/_config.py", line 236, in __init__ config) File "/tmp/grenade/.venv/lib/python3.6/site-packages/tox/_config.py", line 300, in _makeenvconfig for depline in reader.getlist(section, "deps"): File "/tmp/grenade/.venv/lib/python3.6/site-packages/tox/_config.py", line 413, in getlist s = self.getdefault(section, name, None) File "/tmp/grenade/.venv/lib/python3.6/site-packages/tox/_config.py", line 511, in getdefault x = self._replace(x) File "/tmp/grenade/.venv/lib/python3.6/site-packages/tox/_config.py", line 618, in _replace return rexpattern.sub(replace_func, x) File "/tmp/grenade/.venv/lib/python3.6/site-packages/tox/_config.py", line 609, in _replace_match_no_quote return self._replace_match(match, quote=False) File "/tmp/grenade/.venv/lib/python3.6/site-packages/tox/_config.py", line 604, in _replace_match return handler(match, quote) File "/tmp/grenade/.venv/lib/python3.6/site-packages/tox/_config.py", line 541, in _replace_env (envkey, envkey)) tox.ConfigError: ConfigError: substitution env:'TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master': unkown environment variable 'TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master' Update to tox>=2.0 solves the issue.