mirror of
https://github.com/aljazceru/Auto-GPT.git
synced 2025-12-20 15:34:23 +01:00
Parse package versions so upgrades can be forced (#4149)
* parse package versions so upgrades can be forced * better version from @collijk
This commit is contained in:
@@ -11,15 +11,19 @@ def main():
|
|||||||
line.strip().split("#")[0].strip() for line in f.readlines()
|
line.strip().split("#")[0].strip() for line in f.readlines()
|
||||||
]
|
]
|
||||||
|
|
||||||
installed_packages = [package.key for package in pkg_resources.working_set]
|
installed_packages = {pkg.key: pkg.version for pkg in pkg_resources.working_set}
|
||||||
|
|
||||||
missing_packages = []
|
missing_packages = []
|
||||||
for package in required_packages:
|
for required_package in required_packages:
|
||||||
if not package: # Skip empty lines
|
if not required_package: # Skip empty lines
|
||||||
continue
|
continue
|
||||||
package_name = re.split("[<>=@ ]+", package.strip())[0]
|
pkg = pkg_resources.Requirement.parse(required_package)
|
||||||
if package_name.lower() not in installed_packages:
|
if (
|
||||||
missing_packages.append(package_name)
|
pkg.key not in installed_packages
|
||||||
|
or pkg_resources.parse_version(installed_packages[pkg.key])
|
||||||
|
not in pkg.specifier
|
||||||
|
):
|
||||||
|
missing_packages.append(str(pkg))
|
||||||
|
|
||||||
if missing_packages:
|
if missing_packages:
|
||||||
print("Missing packages:")
|
print("Missing packages:")
|
||||||
|
|||||||
Reference in New Issue
Block a user