Update setup.py to use dependency links from requirements.txt.

hotfix/pin-psutil-version
Isis Lovecruft 2013-12-03 11:21:37 +00:00
parent aa3ff37a2b
commit ce30d9a1ae
No known key found for this signature in database
GPG Key ID: 5C17776E27F7E84D
1 changed files with 43 additions and 1 deletions

View File

@ -23,7 +23,10 @@ from __future__ import absolute_import
from __future__ import print_function
import setuptools
import os
import versioneer
versioneer.versionfile_source = 'gnupg/_version.py'
versioneer.versionfile_build = 'gnupg/_version.py'
versioneer.tag_prefix = ''
@ -34,6 +37,44 @@ __contact__ = 'isis@patternsinthevoid.net'
__url__ = 'https://github.com/isislovecruft/python-gnupg'
def get_requirements():
"""Extract the list of requirements from our requirements.txt.
:rtype: 2-tuple
:returns: Two lists, the first is a list of requirements in the form of
pkgname==version. The second is a list of URIs or VCS checkout strings
which specify the dependency links for obtaining a copy of the
requirement.
"""
requirements_file = os.path.join(os.getcwd(), 'requirements.txt')
requirements = []
links=[]
try:
with open(requirements_file) as reqfile:
for line in reqfile.readlines():
line = line.strip()
if line.startswith('#'):
continue
elif line.startswith(
('https://', 'git://', 'hg://', 'svn://')):
links.append(line)
else:
requirements.append(line)
except (IOError, OSError) as error:
print(error)
return requirements, links
requires, deplinks = get_requirements()
print('Found requirements:')
[print('\t%s' % name) for name in requires]
print('Found dependency links:')
[print('\t%s' % uri) for uri in deplinks]
setuptools.setup(
name = "gnupg",
description="A Python wrapper for GnuPG",
@ -62,7 +103,8 @@ greater.
scripts=['versioneer.py'],
test_suite='gnupg.test.test_gnupg',
install_requires=['psutil>=0.5.1'],
install_requires=requires,
dependency_links=deplinks,
extras_require={'docs': ["Sphinx>=1.1", "repoze.sphinx"]},
platforms="Linux, BSD, OSX, Windows",