tox: tox fails due to ssl
Thanks for submitting an issue!
You’re welcome.
Stacktrace:
Jims-MacBook-Pro:pytest-tags jimbrannlund$ tox
GLOB sdist-make: /Users/jimbrannlund/dev/pytest-tags/setup.py
py27-pytest29 inst-nodeps: /Users/jimbrannlund/dev/pytest-tags/.tox/dist/pytest-tags-1.5.dev3+gc8cf057.d20180508.zip
ERROR: invocation failed (exit code 1), logfile: /Users/jimbrannlund/dev/pytest-tags/.tox/py27-pytest29/log/py27-pytest29-4.log
ERROR: actionid: py27-pytest29
msg: installpkg
cmdargs: ['/Users/jimbrannlund/dev/pytest-tags/.tox/py27-pytest29/bin/pip', 'install', '-U', '--no-deps', '/Users/jimbrannlund/dev/pytest-tags/.tox/dist/pytest-tags-1.5.dev3+gc8cf057.d20180508.zip']
Processing ./.tox/dist/pytest-tags-1.5.dev3+gc8cf057.d20180508.zip
Complete output from command python setup.py egg_info:
Download error on https://pypi.org/simple/setuptools_scm/: [SSL: TLSV1_ALERT_PROTOCOL_VERSION] tlsv1 alert protocol version (_ssl.c:590) -- Some packages may not be found!
Download error on https://pypi.org/simple/setuptools-scm/: [SSL: TLSV1_ALERT_PROTOCOL_VERSION] tlsv1 alert protocol version (_ssl.c:590) -- Some packages may not be found!
Couldn't find index page for 'setuptools_scm' (maybe misspelled?)
Download error on https://pypi.org/simple/: [SSL: TLSV1_ALERT_PROTOCOL_VERSION] tlsv1 alert protocol version (_ssl.c:590) -- Some packages may not be found!
No local packages or working download links found for setuptools_scm
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/private/var/folders/8g/g0s3c_xn0d793245v_mj5khm0000gn/T/pip-req-build-QWAMDv/setup.py", line 41, in <module>
'Programming Language :: Python :: 3.6'])
File "/Users/jimbrannlund/dev/pytest-tags/.tox/py27-pytest29/lib/python2.7/site-packages/setuptools/__init__.py", line 128, in setup
_install_setup_requires(attrs)
File "/Users/jimbrannlund/dev/pytest-tags/.tox/py27-pytest29/lib/python2.7/site-packages/setuptools/__init__.py", line 123, in _install_setup_requires
dist.fetch_build_eggs(dist.setup_requires)
File "/Users/jimbrannlund/dev/pytest-tags/.tox/py27-pytest29/lib/python2.7/site-packages/setuptools/dist.py", line 504, in fetch_build_eggs
replace_conflicting=True,
File "/Users/jimbrannlund/dev/pytest-tags/.tox/py27-pytest29/lib/python2.7/site-packages/pkg_resources/__init__.py", line 774, in resolve
replace_conflicting=replace_conflicting
File "/Users/jimbrannlund/dev/pytest-tags/.tox/py27-pytest29/lib/python2.7/site-packages/pkg_resources/__init__.py", line 1057, in best_match
return self.obtain(req, installer)
File "/Users/jimbrannlund/dev/pytest-tags/.tox/py27-pytest29/lib/python2.7/site-packages/pkg_resources/__init__.py", line 1069, in obtain
return installer(requirement)
File "/Users/jimbrannlund/dev/pytest-tags/.tox/py27-pytest29/lib/python2.7/site-packages/setuptools/dist.py", line 571, in fetch_build_egg
return cmd.easy_install(req)
File "/Users/jimbrannlund/dev/pytest-tags/.tox/py27-pytest29/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 667, in easy_install
raise DistutilsError(msg)
distutils.errors.DistutilsError: Could not find suitable distribution for Requirement.parse('setuptools_scm')
----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /private/var/folders/8g/g0s3c_xn0d793245v_mj5khm0000gn/T/pip-req-build-QWAMDv/
MacOS 10.12.6
tox --version: 3.0.0 imported from /usr/local/lib/python3.6/site-packages/tox/init.py
pip3 list:
Package Version
---------------- ---------
certifi 2018.4.16
pip 10.0.1
pipenv 11.10.3
pluggy 0.6.0
py 1.5.3
setuptools 39.1.0
six 1.11.0
tox 3.0.0
virtualenv 15.2.0
virtualenv-clone 0.3.0
wheel 0.31.0
tox.ini:
# Tox (http://tox.testrun.org/) is a tool for running tests
# in multiple virtualenvs. This configuration file will run the
# test suite on all supported python versions. To use it, "pip install tox"
# and then run "tox" from this directory.
[tox]
envlist = py{27,36}-pytest{29,30,31,32,33,34,35}, flake8
[testenv]
commands = py.test -v -r a {posargs}
deps =
pytest29: pytest==2.9.2
pytest30: pytest==3.0.7
pytest31: pytest==3.1.3
pytest32: pytest==3.2.5
pytest33: pytest==3.3.2
pytest34: pytest==3.4.2
pytest35: pytest==3.5.1
[testenv:flake8]
skip_install = true
basepython = python
deps = flake8
commands = flake8 {posargs:.}
[flake8]
exclude = .tox,build
About this issue
- Original URL
- State: closed
- Created 6 years ago
- Comments: 16 (6 by maintainers)
Commits related to this issue
- Remove use of setup_requires. Builders now require pip 10 or later to build/install from sdist. Older installers will still install the packages from wheels. Ref tox-dev/tox#809. — committed to jaraco/skeleton by jaraco 6 years ago
- Revert "Remove use of setup_requires. Builders now require pip 10 or later to build/install from sdist. Older installers will still install the packages from wheels. Ref tox-dev/tox#809." This revert... — committed to jaraco/skeleton by jaraco 6 years ago
- [update to 2.0] We're getting close, but Python 3.7 still requires a workaround Jason R. Coombs (38): Add appveyor badge (commented). Disable RTD by default. Limit workaround to affected ... — committed to clearlinux-pkgs/jaraco.functools by fenrus75 5 years ago
- portend: Autospec creation for update from version 2.3 to version 2.4 Jason R. Coombs (36): Don't match issues if preceeded by some other indicator. skip_upload_docs is default Drop... — committed to clearlinux-pkgs/portend by phmccarty 5 years ago
- [update to 1.14.1] Fix error in parse_timedelta doctest when run in the year running up to a leap day. Fixes #7. Jason R. Coombs (20): Update readme to reference UTC module. Add workaroun... — committed to clearlinux-pkgs/tempora by fenrus75 5 years ago
- [update to 19.0.1] Assign to _, which saves a reference to the object but doesn't violate linter's sensibilities. Andrew Dibble (1): add more specific error messages from _OS_X_API and re-raise... — committed to clearlinux-pkgs/keyring by fenrus75 5 years ago
- [update to 5.1] Duplicately supply a minimal metadata in setup.py to support setuptools older than 30.4. Fixes #49. Jason R. Coombs (57): Bump minimum pytest version Add pyproject.toml de... — committed to clearlinux-pkgs/pytest-runner by fenrus75 5 years ago
- jsonpickle: Autospec creation for update from version 1.3 to version 1.4.1 David Aguilar (56): tests: add tests for pandas Series with multi indexes pandas: improve serialization for Seri... — committed to clearlinux-pkgs/jsonpickle by phmccarty 4 years ago
- hgtools: Autospec creation for update from version 8.1.1 to version 8.2.0 Hugo (1): Fix AppVeyor typo Hugo van Kemenade (2): Spelling and capitalisation (#8) Link badge to PyPI rat... — committed to clearlinux-pkgs/hgtools by phmccarty 4 years ago
I’m experiencing this issue as well on more recent Pythons (latest available Python 3.5 binary for macOS).
I can replicate the issue by simply invoking
toxtwice on any of my projects. For example, consider portend:Upgrading pip and setuptools to the latest results in the same outcome.
The first run works fine, but the second run fails when tox invokes
setup.py --name. Because the package declares asetup_requiresargument, and because tox isn’t honoring the PEP-518 declaration for that build dependency, thesetup.pyinvocation falls back to honoringsetup_requires, invoking the deprecatedeasy_installwhich has only old TLS support as was included in the Python 3.5.4 build on macOS.My instinct is that tox should not be invoking
setup.py (anything)and if it needs the name of the local package, it should get it another way. I believe the importlib_metadata project would be the best place for that functionality, and in issue 27, I’ve captured the shortcoming of that library. That issue also links to a workaround I’ve implemented in pytest-checkdocs that works with the current releases of importlib_metadata.Fixed by installing non mac os python 2.7
brew install python@2