def requirement_line(r, download_to, abs_download_to): if isinstance(r.link, Link): req = r.req if pip_version > (10, ) else r ir = InstallRequirement(req=req, link=r.link, comes_from=None, markers=True, editable=True) assert r.name, "Package name not provided for %s" % r.link s = '{}/{}/'.format(download_to, ir.name.lower()) ir.source_dir = '{}/{}'.format(abs_download_to, ir.name.lower()) ir.update_editable(obtain=False) else: assert isinstance(r.req, Requirement), r.req.__class__ s = '%-30s' % str(r.req) for hash_type, hashes in r.options.get('hashes', {}).items(): for h in hashes: s += ' --hash={}:{}'.format(hash_type, h) return s.strip()