setup.py: Use env markers for Python version-specific dependencies (#495)

* setup.py: Use env markers for Python version-specific dependencies

Changing package properties dynamically in setup.py means that universal
wheels will actually be built only for the builder's environment, and
might not work properly on different platforms/PYthon versions.

Closes https://github.com/zalando/connexion/issues/493

* travis: Upgrade setuptools before running tests

* reqs: Stop installing pathlib from mercurial in dev mode

The mercurial repo is at 0.8 while the latest release on PyPI is 1.0.1
This commit is contained in:
Bence Nagy
2017-07-29 12:28:13 +02:00
committed by Henning Jacobs
parent 78e962f5f4
commit d51e9c8a4c
3 changed files with 5 additions and 12 deletions

View File

@@ -6,7 +6,7 @@ python:
- "3.5" - "3.5"
- "3.6" - "3.6"
install: install:
- pip install tox tox-travis coveralls - pip install "setuptools>=17.1" tox tox-travis coveralls
script: script:
- tox - tox
after_success: after_success:

View File

@@ -3,7 +3,8 @@
-e git+https://github.com/kennethreitz/requests#egg=requests -e git+https://github.com/kennethreitz/requests#egg=requests
-e git+https://github.com/Yelp/swagger_spec_validator.git#egg=swagger-spec-validator -e git+https://github.com/Yelp/swagger_spec_validator.git#egg=swagger-spec-validator
-e git+https://github.com/zalando/python-clickclick.git#egg=clickclick -e git+https://github.com/zalando/python-clickclick.git#egg=clickclick
-e hg+https://bitbucket.org/pitrou/pathlib#egg=pathlib # This repo doesn't have the latest version released on PyPI
# -e hg+https://bitbucket.org/pitrou/pathlib#egg=pathlib
# PyYAML is not that easy to build manually, it may fail. # PyYAML is not that easy to build manually, it may fail.
#-e svn+http://svn.pyyaml.org/pyyaml/trunk#egg=PyYAML #-e svn+http://svn.pyyaml.org/pyyaml/trunk#egg=PyYAML
# six is causing errors during the tests # six is causing errors during the tests

View File

@@ -3,7 +3,6 @@
import inspect import inspect
import os import os
import platform
import sys import sys
from setuptools import find_packages, setup from setuptools import find_packages, setup
@@ -21,9 +20,6 @@ def read_version(package):
version = read_version('connexion') version = read_version('connexion')
py_major_minor_version = tuple(int(v.rstrip('+')) for v in platform.python_version_tuple()[:2])
install_requires = [ install_requires = [
'clickclick>=1.2', 'clickclick>=1.2',
'jsonschema>=2.5.1', 'jsonschema>=2.5.1',
@@ -32,16 +28,12 @@ install_requires = [
'six>=1.9', 'six>=1.9',
'swagger-spec-validator>=2.0.2', 'swagger-spec-validator>=2.0.2',
'inflection>=0.3.1', 'inflection>=0.3.1',
'pathlib>=1.0.1; python_version < "3.4"',
'typing>=3.6.1; python_version < "3.6"',
] ]
flask_require = 'flask>=0.10.1' flask_require = 'flask>=0.10.1'
if py_major_minor_version < (3, 4):
install_requires.append('pathlib>=1.0.1')
if py_major_minor_version < (3, 6):
install_requires.append('typing>=3.6.1')
tests_require = [ tests_require = [
'decorator', 'decorator',
'mock', 'mock',