自学内容网 自学内容网

python 依赖项

python 依赖项

pip freeze > requirements.txt

pip install -r requirements.txt

import re

def read_requirements(file_path):
    with open(file_path, 'r') as file:
        requirements = file.read().splitlines()
    return requirements

def parse_requirement(req):
    match = re.match(r'([^=<>!]+)([=<>!]+)(.+)', req)
    if match:
        return match.groups()
    else:
        return req, '', ''

def compare_requirements(file1, file2):
    req1 = read_requirements(file1)
    req2 = read_requirements(file2)

    req_dict1 = {parse_requirement(req)[0]: parse_requirement(req)[2] for req in req1}
    req_dict2 = {parse_requirement(req)[0]: parse_requirement(req)[2] for req in req2}

    common_libs = set(req_dict1.keys()) & set(req_dict2.keys())
    version_diff = {lib: (req_dict1[lib], req_dict2[lib]) for lib in common_libs if req_dict1[lib] != req_dict2[lib]}

    return version_diff

def main():
    file1 = 'requirements1.txt'
    file2 = 'requirements2.txt'

    version_diff = compare_requirements(file1, file2)

    print("Libraries with different versions:")
    for lib, versions in version_diff.items():
        print(f"{lib}: {file1} version: {versions[0]}, {file2} version: {versions[1]}")

if __name__ == "__main__":
    main()

python 依赖项


原文地址:https://blog.csdn.net/jacke121/article/details/140570233

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!