I saw this on StackOverflow a while back, and its made its way into most of my modules:
import os
from setuptools import setup, find_packages
from pip.req import parse_requirements
basedir = os.path.dirname(__file__)
requirements_path = os.path.join(basedir, 'requirements.txt')
# parse_requirements() returns generator of pip.req.InstallRequirement objects
install_requirements = parse_requirements(requirements_path)
# Convert to setup's list of strings format:
requirements = [str(ir.req) for ir in install_requirements]
setup(
install_requires=requirements,
…
)
–
Kyle Marek-Spartz