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)!