[TIP] Tox problems with Python 2.5, 3.1 and 3.4

Skip Montanaro skip at pobox.com
Sun Aug 25 10:23:27 PDT 2013


I've recently returned to a project (pylockfile) which I've let lay
fallow for a long while. When I last worked on the project I used tox
to run the unit test suite with Python 2.5, 2.6, 2.7, 3.1, 3.2, and
3.3.  This go 'round, I added Python 3.4 (cpython branch of Python
development). Tox, pip and virtualenv were reinstalled with Python 3.4
(though I didn't consciously mean to do that). I've reproduced the tox
output below for the failing Python versions. Any input about how to
solve any of these issues would be much appreciated.

Thanks,

Skip Montanaro

Python 2.5 fails with this output:

GLOB sdist-make: /Users/skip/src/pylockfile/setup.py
py25 create: /Users/skip/src/pylockfile/.tox/py25
ERROR: invocation failed, logfile:
/Users/skip/src/pylockfile/.tox/py25/log/py25-0.log
ERROR: actionid=py25
msg=getenv
cmdargs=['/Users/skip/local/bin/python2.5',
'/Users/skip/local/lib/python3.4/site-packages/tox/vendor/virtualenv.py',
'--setuptools', '--python', '/Users/skip/local/bin/python2.5', 'py25']
env={'HOME': '/Users/skip', 'PILOTPORT': '/dev/ttyS0',
'PROFILE_LOADED': '1', 'TMPDIR':
'/var/folders/5q/5qTPn6xq2RaWqk+1Ytw3-U+++TI/-Tmp-/',
'Apple_PubSub_Socket_Render': '/tmp/launch-EW9p0k/Render',
'TERM_PROGRAM_VERSION': '273.1', 'SHELL': '/bin/bash', 'MANPATH':
'/Users/skip/local/share/man:/usr/local/git/share/man:/usr/share/man:/usr/local/share/man:/usr/X11R6/man:/opt/local/share/man:/usr/share/man',
'BAYESCUSTOMIZE': '/Users/skip/hammie.opt', 'INFOPATH':
'/usr/share/info:/opt/local/share/info:/opt/local/info', '_':
'/Users/skip/local/bin/tox', 'OLDPWD': '/Users/skip/tmp',
'TERM_PROGRAM': 'Apple_Terminal', 'PKG_CONFIG_PATH':
'/Users/skip/local/lib/pkgconfig', 'PYTHONSTARTUP':
'/Users/skip/.python.py', 'PGDATA': '/Users/skip/var/pg/databases',
'PILOTRATE': '57600', 'LOGNAME': 'skip', 'SSH_AUTH_SOCK':
'/tmp/launch-qJm1t2/Listeners', 'HISTIGNORE':
'*tramp_exit_status*:*tramp_file_attributes*', 'SHLVL': '1', 'LANG':
'C', 'COMMAND_MODE': 'unix2003', 'RSYNC_RSH': 'ssh', 'EDITOR':
'/Users/skip/local/bin/gnuclient', 'USERNAME': '', 'TERM': 'xterm',
'BROWSER': 'open', 'SECURITYSESSIONID': '307001',
'__CF_USER_TEXT_ENCODING': '0x1F5:0:15', 'BASH_ENV':
'/Users/skip/.bashrc', 'BLOCKSIZE': '1k', 'USER': 'skip', 'CVS_RSH':
'ssh', 'LESSEDIT': 'gnuclient', 'DISPLAY':
'/tmp/launch-ij9vU2/org.x:0', 'PATH':
'/Users/skip/src/pylockfile/.tox/py25/bin:/opt/local/bin:/opt/local/sbin:/opt/local/bin:/opt/local/sbin:/usr/local/heroku/bin:/Users/skip/cmd:/Users/skip/local/mojam/bin:/Users/skip/local/bin:/usr/local/git/bin:/usr/local/mysql/bin:/opt/local/bin:/opt/local/sbin:/usr/local/bin:/usr/bin:/bin::/usr/X11R6/bin:/usr/sbin:/sbin:/Users/skip/cmd/fmscripts:/Library/PostgreSQL/9.2/bin:.',
'PWD': '/Users/skip/src/pylockfile', 'LESS': '-MM -X', 'HISTSIZE':
'2000'}
Already using interpreter /Users/skip/local/bin/python2.5
New python executable in py25/bin/python2.5
Also creating executable in py25/bin/python
Installing setuptools............
  Complete output from command
/Users/skip/src/pylo...x/py25/bin/python2.5 -c "#!python
\"\"\"Bootstra...sys.argv[1:])






" --always-copy -U setuptools:
  Traceback (most recent call last):
  File "<string>", line 67, in <module>
  File "/Users/skip/local/lib/python2.5/md5.py", line 6, in <module>
    from hashlib import md5
  File "/Users/skip/local/lib/python2.5/hashlib.py", line 133, in <module>
    md5 = __get_builtin_constructor('md5')
  File "/Users/skip/local/lib/python2.5/hashlib.py", line 60, in
__get_builtin_constructor
    import _md5
ImportError: No module named _md5
----------------------------------------
...Installing setuptools...done.
Traceback (most recent call last):
  File "/Users/skip/local/lib/python3.4/site-packages/tox/vendor/virtualenv.py",
line 2577, in <module>
    main()
  File "/Users/skip/local/lib/python3.4/site-packages/tox/vendor/virtualenv.py",
line 979, in main
    no_pip=options.no_pip)
  File "/Users/skip/local/lib/python3.4/site-packages/tox/vendor/virtualenv.py",
line 1091, in create_environment
    search_dirs=search_dirs, never_download=never_download)
  File "/Users/skip/local/lib/python3.4/site-packages/tox/vendor/virtualenv.py",
line 611, in install_setuptools
    search_dirs=search_dirs, never_download=never_download)
  File "/Users/skip/local/lib/python3.4/site-packages/tox/vendor/virtualenv.py",
line 583, in _install_req
    cwd=cwd)
  File "/Users/skip/local/lib/python3.4/site-packages/tox/vendor/virtualenv.py",
line 1057, in call_subprocess
    % (cmd_desc, proc.returncode))
OSError: Command /Users/skip/src/pylo...x/py25/bin/python2.5 -c "#!python
\"\"\"Bootstra...sys.argv[1:])






" --always-copy -U setuptools failed with error code 1

ERROR: InvocationError: /Users/skip/local/bin/python2.5
/Users/skip/local/lib/python3.4/site-packages/tox/vendor/virtualenv.py
--setuptools --python /Users/skip/local/bin/python2.5 py25 (see
/Users/skip/src/pylockfile/.tox/py25/log/py25-0.log)

Is it still possible to use tox to test w/ Python 2.5?

Python 3.1 fails with this traceback:

Traceback (most recent call last):
  File "../bin/pip", line 9, in <module>
    load_entry_point('pip==1.4.1', 'console_scripts', 'pip')()
  File "/Users/skip/src/pylockfile/.tox/py31/lib/python3.1/site-packages/pkg_resources.py",
line 378, in load_entry_point
    return get_distribution(dist).load_entry_point(group, name)
  File "/Users/skip/src/pylockfile/.tox/py31/lib/python3.1/site-packages/pkg_resources.py",
line 2566, in load_entry_point
    return ep.load()
  File "/Users/skip/src/pylockfile/.tox/py31/lib/python3.1/site-packages/pkg_resources.py",
line 2260, in load
    entry = __import__(self.module_name, globals(),globals(), ['__name__'])
  File "/Users/skip/src/pylockfile/.tox/py31/lib/python3.1/site-packages/pip/__init__.py",
line 9, in <module>
    from pip.log import logger
  File "/Users/skip/src/pylockfile/.tox/py31/lib/python3.1/site-packages/pip/log.py",
line 7, in <module>
    from pip import backwardcompat
  File "/Users/skip/src/pylockfile/.tox/py31/lib/python3.1/site-packages/pip/backwardcompat/__init__.py",
line 125, in <module>
    from ssl_match_hostname import match_hostname, CertificateError
ImportError: No module named ssl_match_hostname

Python 3.4 fails with this output:

py34 create: /Users/skip/src/pylockfile/.tox/py34
ERROR: invocation failed, logfile:
/Users/skip/src/pylockfile/.tox/py34/log/py34-0.log
ERROR: actionid=py34
msg=getenv
cmdargs=['/Users/skip/local/bin/python3.4',
'/Users/skip/local/lib/python3.4/site-packages/virtualenv.py',
'--setuptools', '--python', '/Users/skip/local/bin/python3.4', 'py34']
env={'HOME': '/Users/skip', 'PILOTPORT': '/dev/ttyS0',
'PROFILE_LOADED': '1', 'TMPDIR':
'/var/folders/5q/5qTPn6xq2RaWqk+1Ytw3-U+++TI/-Tmp-/',
'Apple_PubSub_Socket_Render': '/tmp/launch-EW9p0k/Render',
'TERM_PROGRAM_VERSION': '273.1', 'SHELL': '/bin/bash', 'MANPATH':
'/Users/skip/local/share/man:/usr/local/git/share/man:/usr/share/man:/usr/local/share/man:/usr/X11R6/man:/opt/local/share/man:/usr/share/man',
'BAYESCUSTOMIZE': '/Users/skip/hammie.opt', 'INFOPATH':
'/usr/share/info:/opt/local/share/info:/opt/local/info', '_':
'/Users/skip/local/bin/tox', 'OLDPWD': '/Users/skip/tmp',
'TERM_PROGRAM': 'Apple_Terminal', 'PKG_CONFIG_PATH':
'/Users/skip/local/lib/pkgconfig', 'PYTHONSTARTUP':
'/Users/skip/.python.py', 'PGDATA': '/Users/skip/var/pg/databases',
'PILOTRATE': '57600', 'LOGNAME': 'skip', 'SSH_AUTH_SOCK':
'/tmp/launch-qJm1t2/Listeners', 'HISTIGNORE':
'*tramp_exit_status*:*tramp_file_attributes*', 'SHLVL': '1', 'LANG':
'C', 'COMMAND_MODE': 'unix2003', 'RSYNC_RSH': 'ssh', 'EDITOR':
'/Users/skip/local/bin/gnuclient', 'USERNAME': '', 'TERM': 'xterm',
'BROWSER': 'open', 'SECURITYSESSIONID': '307001',
'__CF_USER_TEXT_ENCODING': '0x1F5:0:15', 'BASH_ENV':
'/Users/skip/.bashrc', 'BLOCKSIZE': '1k', 'USER': 'skip', 'CVS_RSH':
'ssh', 'LESSEDIT': 'gnuclient', 'DISPLAY':
'/tmp/launch-ij9vU2/org.x:0', 'PATH':
'/Users/skip/src/pylockfile/.tox/py34/bin:/opt/local/bin:/opt/local/sbin:/opt/local/bin:/opt/local/sbin:/usr/local/heroku/bin:/Users/skip/cmd:/Users/skip/local/mojam/bin:/Users/skip/local/bin:/usr/local/git/bin:/usr/local/mysql/bin:/opt/local/bin:/opt/local/sbin:/usr/local/bin:/usr/bin:/bin::/usr/X11R6/bin:/usr/sbin:/sbin:/Users/skip/cmd/fmscripts:/Library/PostgreSQL/9.2/bin:.',
'PWD': '/Users/skip/src/pylockfile', 'LESS': '-MM -X', 'HISTSIZE':
'2000'}
Fatal Python error: Py_Initialize: can't initialize sys standard streams
Traceback (most recent call last):
  File "/Users/skip/src/pylockfile/.tox/py34/lib/python3.4/locale.py",
line 17, in <module>
    import re
  File "/Users/skip/src/pylockfile/.tox/py34/lib/python3.4/re.py",
line 124, in <module>
    import functools
  File "/Users/skip/src/pylockfile/.tox/py34/lib/python3.4/functools.py",
line 21, in <module>
    from collections import namedtuple
  File "/Users/skip/src/pylockfile/.tox/py34/lib/python3.4/collections/__init__.py",
line 8, in <module>
    __all__ += collections.abc.__all__
AttributeError: 'module' object has no attribute 'abc'
Already using interpreter /Users/skip/local/bin/python3.4
Using base prefix '/Users/skip/local'
New python executable in py34/bin/python3.4
Also creating executable in py34/bin/python
ERROR: The executable py34/bin/python3.4 is not functioning
ERROR: It thinks sys.prefix is '/Users/skip/src/pylockfile/.tox'
(should be '/Users/skip/src/pylockfile/.tox/py34')
ERROR: virtualenv is not compatible with this system or executable

ERROR: InvocationError: /Users/skip/local/bin/python3.4
/Users/skip/local/lib/python3.4/site-packages/virtualenv.py
--setuptools --python /Users/skip/local/bin/python3.4 py34 (see
/Users/skip/src/pylockfile/.tox/py34/log/py34-0.log)



More information about the testing-in-python mailing list