summaryrefslogtreecommitdiff
path: root/setup.py
diff options
context:
space:
mode:
authorholger krekel <holger@merlinux.eu>2015-05-13 01:27:42 +0200
committerholger krekel <holger@merlinux.eu>2015-05-13 01:27:42 +0200
commitdff8a9e0776b82feb18a29e7ba3da6b9e267aa9b (patch)
tree5271ac34742ba0f5dfec3e5321d599d5db22408e /setup.py
parent397adfb5a0bc2bf84435f59aa8608eeda86810aa (diff)
downloadtox-dff8a9e0776b82feb18a29e7ba3da6b9e267aa9b.tar.gz
fix wheel packaging to properly require argparse on py26.2.0.1
Diffstat (limited to 'setup.py')
-rw-r--r--setup.py33
1 files changed, 28 insertions, 5 deletions
diff --git a/setup.py b/setup.py
index 960cbed..726d675 100644
--- a/setup.py
+++ b/setup.py
@@ -1,5 +1,5 @@
import sys
-from setuptools import setup
+import setuptools
from setuptools.command.test import test as TestCommand
@@ -15,18 +15,40 @@ class Tox(TestCommand):
import tox
tox.cmdline(self.test_args)
+def has_environment_marker_support():
+ """
+ Tests that setuptools has support for PEP-426 environment marker support.
+
+ The first known release to support it is 0.7 (and the earliest on PyPI seems to be 0.7.2
+ so we're using that), see: http://pythonhosted.org/setuptools/history.html#id142
+
+ References:
+
+ * https://wheel.readthedocs.org/en/latest/index.html#defining-conditional-dependencies
+ * https://www.python.org/dev/peps/pep-0426/#environment-markers
+ """
+ import pkg_resources
+ try:
+ return pkg_resources.parse_version(setuptools.__version__) >= pkg_resources.parse_version('0.7.2')
+ except Exception as exc:
+ sys.stderr.write("Could not test setuptool's version: %s\n" % exc)
+ return False
def main():
version = sys.version_info[:2]
install_requires = ['virtualenv>=1.11.2', 'py>=1.4.17', 'pluggy>=0.3.0,<0.4.0']
- if version < (2, 7):
- install_requires += ['argparse']
- setup(
+ extras_require = {}
+ if has_environment_marker_support():
+ extras_require[':python_version=="2.6"'] = ['argparse']
+ else:
+ if version < (2, 7):
+ install_requires += ['argparse']
+ setuptools.setup(
name='tox',
description='virtualenv-based automation of test activities',
long_description=open("README.rst").read(),
url='http://tox.testrun.org/',
- version='2.0.0',
+ version='2.0.1',
license='http://opensource.org/licenses/MIT',
platforms=['unix', 'linux', 'osx', 'cygwin', 'win32'],
author='holger krekel',
@@ -38,6 +60,7 @@ def main():
tests_require=['tox'],
cmdclass={"test": Tox},
install_requires=install_requires,
+ extras_require=extras_require,
classifiers=[
'Development Status :: 5 - Production/Stable',
'Intended Audience :: Developers',