in setup.py [0:0]
def parse_requirements(fname="requirements.txt"):
"""Parse the package dependencies listed in a requirements file."""
def parse_line(line):
"""Parse information from a line in a requirements text file."""
if line.startswith("-r "):
# Allow specifying requirements in other files
target = line.split(" ")[1]
for line in parse_require_file(target):
yield line
else:
yield line
def parse_require_file(fpath):
with codecs.open(fpath, "r") as f:
for line in f.readlines():
line = line.strip()
if line and not line.startswith("#"):
for ll in parse_line(line):
yield ll
packages = list(parse_require_file(fname))
return packages