tox: Unable to run tox 3.13.1

Having issues with tox 3.13.1 in my environment. 3.12.x works flawlessly. Others in my company are reporting no issues with tox launched from a py3 context. Unable to reproduce in another project yet

python: 2.7 environ: py27 os: ubuntu 16.02 docker

The process fails after creating a .tox/.tox/ folder and never generates the expected .tox/py## virtualenv folders

tox.ini

[tox]
envlist = py27

[testenv]
deps = 
    pytest
    pytest-cov==2.6.0
    cython
    numpy
    six
setenv =
    PYTHONHASHSEED = 0
commands =
    pytest [REDACTED_PROJECT_NAME]/tests --junitxml=test-results/junit-{envname}.xml

tox --sitepackages -rvv

using tox.ini: /home/[REDACTED_PROJECT_PATH]/tox.ini (pid 1)
could not satisfy requires MissingDependency(<Requirement('tox>=3.13.1')>,)
using tox-3.13.1 from /usr/local/lib/python2.7/dist-packages/tox/__init__.pyc (pid 1)
.tox start: getenv /home/[REDACTED_PROJECT_PATH]/.tox/.tox
.tox cannot reuse: -r flag
.tox create: /home/[REDACTED_PROJECT_PATH]/.tox/.tox
/usr/bin/python (/usr/bin/python) is {u'executable': u'/usr/bin/python', u'name': u'python', u'version_info': [2, 7, 12, u'final', 0], u'sysplatform': u'linux2', u'version': u'2.7.12 (default, Nov 12 2018, 14:36:49) \n[GCC 5.4.0 20160609]', u'is_64': True}
.tox uses /usr/bin/python
setting PATH=/home/[REDACTED_PROJECT_PATH]/.tox/.tox/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
[12] /home/[REDACTED_PROJECT_PATH]/.tox$ /usr/bin/python -m virtualenv --system-site-packages --no-download --python /usr/bin/python .tox
Already using interpreter /usr/bin/python
New python executable in /home/[REDACTED_PROJECT_PATH]/.tox/.tox/bin/python
Installing setuptools, pip, wheel...
done.
.tox installdeps: tox >= 3.13.1
setting PATH=/home/[REDACTED_PROJECT_PATH]/.tox/.tox/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
[21] /home/[REDACTED_PROJECT_PATH]l$ /home/[REDACTED_PROJECT_PATH]/.tox/.tox/bin/python -m pip install 'tox >= 3.13.1'
DEPRECATION: Python 2.7 will reach the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 won't be maintained after that date. A future version of pip will drop support for Python 2.7.
Looking in indexes: https://pypi01.cid.cs.sys/simple/, https://pypi.python.org/simple
Requirement already satisfied: tox>=3.13.1 in /usr/local/lib/python2.7/dist-packages (3.13.1)
Requirement already satisfied: packaging>=14 in /usr/local/lib/python2.7/dist-packages (from tox>=3.13.1) (19.0)
Requirement already satisfied: six<2,>=1.0.0 in /usr/local/lib/python2.7/dist-packages (from tox>=3.13.1) (1.12.0)
Requirement already satisfied: pluggy<1,>=0.12.0 in /usr/local/lib/python2.7/dist-packages (from tox>=3.13.1) (0.12.0)
Requirement already satisfied: toml>=0.9.4 in /usr/local/lib/python2.7/dist-packages (from tox>=3.13.1) (0.10.0)
Requirement already satisfied: virtualenv>=14.0.0 in /usr/local/lib/python2.7/dist-packages (from tox>=3.13.1) (16.6.1)
Requirement already satisfied: py<2,>=1.4.17 in /usr/local/lib/python2.7/dist-packages (from tox>=3.13.1) (1.8.0)
Requirement already satisfied: importlib-metadata<1,>=0.12 in /usr/local/lib/python2.7/dist-packages (from tox>=3.13.1) (0.18)
Requirement already satisfied: filelock<4,>=3.0.0 in /usr/local/lib/python2.7/dist-packages (from tox>=3.13.1) (3.0.12)
Requirement already satisfied: pyparsing>=2.0.2 in /usr/local/lib/python2.7/dist-packages (from packaging>=14->tox>=3.13.1) (2.4.0)
Requirement already satisfied: contextlib2; python_version < "3" in /usr/local/lib/python2.7/dist-packages (from importlib-metadata<1,>=0.12->tox>=3.13.1) (0.5.5)
Requirement already satisfied: zipp>=0.5 in /usr/local/lib/python2.7/dist-packages (from importlib-metadata<1,>=0.12->tox>=3.13.1) (0.5.1)
Requirement already satisfied: pathlib2; python_version == "3.4.*" or python_version < "3" in /usr/local/lib/python2.7/dist-packages (from importlib-metadata<1,>=0.12->tox>=3.13.1) (2.3.3)
Requirement already satisfied: configparser>=3.5; python_version < "3" in /usr/local/lib/python2.7/dist-packages (from importlib-metadata<1,>=0.12->tox>=3.13.1) (3.7.4)
Requirement already satisfied: scandir; python_version < "3.5" in /usr/local/lib/python2.7/dist-packages (from pathlib2; python_version == "3.4.*" or python_version < "3"->importlib-metadata<1,>=0.12->tox>=3.13.1) (1.10.0)
.tox finish: getenv /home/[REDACTED_PROJECT_PATH]/.tox/.tox after 24.97 seconds
.tox start: finishvenv 
write config to /home/[REDACTED_PROJECT_PATH]/.tox/.tox/.tox-config1 as 'fdfa6acc26b1a187ba86772f74812876 /usr/bin/python\n3.13.1 1 0 0\n00000000000000000000000000000000 tox >= 3.13.1'
.tox finish: finishvenv  after 0.02 seconds
.tox start: provision 
[28] /home/[REDACTED_PROJECT_PATH]$ /home/[REDACTED_PROJECT_PATH]/.tox/.tox/bin/python -m tox --sitepackages -rvv
using tox.ini: /home/[REDACTED_PROJECT_PATH]/tox.ini (pid 28)
  removing /home/[REDACTED_PROJECT_PATH]/.tox/log
could not satisfy requires MissingDependency(<Requirement('tox>=3.13.1')>,)
using tox-3.13.1 from /usr/local/lib/python2.7/dist-packages/tox/__init__.pyc (pid 28)
.tox start: getenv /home/[REDACTED_PROJECT_PATH]/.tox/.tox
.tox cannot reuse: -r flag
.tox recreate: /home/[REDACTED_PROJECT_PATH]/.tox/.tox
/home/[REDACTED_PROJECT_PATH]/.tox/.tox/bin/python (/home/[REDACTED_PROJECT_PATH]/.tox/.tox/bin/python) is {u'executable': u'/home/[REDACTED_PROJECT_PATH]/.tox/.tox/bin/python', u'name': u'python', u'version_info': [2, 7, 12, u'final', 0], u'sysplatform': u'linux2', u'version': u'2.7.12 (default, Nov 12 2018, 14:36:49) \n[GCC 5.4.0 20160609]', u'is_64': True}
.tox uses /home/[REDACTED_PROJECT_PATH]/.tox/.tox/bin/python
  removing /home/[REDACTED_PROJECT_PATH]/.tox/.tox
setting PATH=/home/[REDACTED_PROJECT_PATH]/.tox/.tox/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
Traceback (most recent call last):
  File "/usr/lib/python2.7/runpy.py", line 174, in _run_module_as_main
    "__main__", fname, loader, pkg_name)
  File "/usr/lib/python2.7/runpy.py", line 72, in _run_code
    exec code in run_globals
  File "/usr/local/lib/python2.7/dist-packages/tox/__main__.py", line 4, in <module>
    tox.cmdline()
  File "/usr/local/lib/python2.7/dist-packages/tox/session/__init__.py", line 44, in cmdline
    main(args)
  File "/usr/local/lib/python2.7/dist-packages/tox/session/__init__.py", line 68, in main
    exit_code = session.runcommand()
  File "/usr/local/lib/python2.7/dist-packages/tox/session/__init__.py", line 182, in runcommand
    return provision_tox(provision_tox_venv, self.config.args)
  File "/usr/local/lib/python2.7/dist-packages/tox/session/commands/provision.py", line 10, in provision_tox
    ensure_meta_env_up_to_date(provision_venv)
  File "/usr/local/lib/python2.7/dist-packages/tox/session/commands/provision.py", line 23, in ensure_meta_env_up_to_date
    if provision_venv.setupenv():
  File "/usr/local/lib/python2.7/dist-packages/tox/venv.py", line 594, in setupenv
    status = self.update(action=action)
  File "/usr/local/lib/python2.7/dist-packages/tox/venv.py", line 252, in update
    self.hook.tox_testenv_create(action=action, venv=self)
  File "/usr/local/lib/python2.7/dist-packages/pluggy/hooks.py", line 289, in __call__
    return self._hookexec(self, self.get_hookimpls(), kwargs)
  File "/usr/local/lib/python2.7/dist-packages/pluggy/manager.py", line 87, in _hookexec
    return self._inner_hookexec(hook, methods, kwargs)
  File "/usr/local/lib/python2.7/dist-packages/pluggy/manager.py", line 81, in <lambda>
    firstresult=hook.spec.opts.get("firstresult") if hook.spec else False,
  File "/usr/local/lib/python2.7/dist-packages/pluggy/callers.py", line 208, in _multicall
    return outcome.get_result()
  File "/usr/local/lib/python2.7/dist-packages/pluggy/callers.py", line 81, in get_result
    _reraise(*ex)  # noqa
  File "/usr/local/lib/python2.7/dist-packages/pluggy/callers.py", line 187, in _multicall
    res = hook_impl.function(*args)
  File "/usr/local/lib/python2.7/dist-packages/tox/venv.py", line 687, in tox_testenv_create
    redirect=reporter.verbosity() < reporter.Verbosity.DEBUG,
  File "/usr/local/lib/python2.7/dist-packages/tox/venv.py", line 574, in _pcall
    report_fail=not is_test_command,
  File "/usr/local/lib/python2.7/dist-packages/tox/action.py", line 93, in popen
    else 0
  File "/usr/lib/python2.7/subprocess.py", line 711, in __init__
    errread, errwrite)
  File "/usr/lib/python2.7/subprocess.py", line 1342, in _execute_child
    child_exception = pickle.loads(data)
  File "/usr/lib/python2.7/pickle.py", line 1388, in loads
    return Unpickler(file).load()
  File "/usr/lib/python2.7/pickle.py", line 864, in load
    dispatch[key](self)
  File "/usr/lib/python2.7/pickle.py", line 977, in load_string
    self.append(rep.decode("string-escape"))
LookupError: unknown encoding: string-escape
.tox finish: provision  after 8.21 seconds

About this issue

  • Original URL
  • State: closed
  • Created 5 years ago
  • Comments: 18 (15 by maintainers)

Most upvoted comments

Same thing on my side, tox 3.13.0 and 3.13.1 are creating a “.tox/.tox/” folder, which makes tox to crash few steps later. I had to revert to 3.12.1 which is working properly.