check_requirements.py 文件源码

python
阅读 31 收藏 0 点赞 0 评论 0

项目:requirements-tools 作者: Yelp 项目源码 文件源码
def check_requirements_integrity():
    raw_requirements = _get_all_raw_requirements()
    if not raw_requirements:
        raise AssertionError(
            'check-requirements expects at least requirements-minimal.txt '
            'and requirements.txt',
        )

    incorrect = []
    for req, filename in raw_requirements:
        version = to_version(req)
        if version is None:  # Not pinned, just skip
            continue
        if req.key not in installed_things:
            raise AssertionError(
                '{} is required in {}, but is not installed'.format(
                    req.key, filename,
                )
            )
        installed_version = to_version(parse_requirement('{}=={}'.format(
            req.key, installed_things[req.key].version,
        )))
        if installed_version != version:
            incorrect.append((filename, req.key, version, installed_version))
    if incorrect:
        raise AssertionError(
            'Installed requirements do not match requirement files!\n'
            'Rebuild your virtualenv:\n{}'.format(''.join(
                ' - ({}) {}=={} (installed) {}=={}\n'.format(
                    filename, pkg, depped, pkg, installed,
                )
                for filename, pkg, depped, installed in incorrect
            ))
        )
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号