|
19 | 19 | import sys |
20 | 20 | import platform |
21 | 21 | import json |
22 | | -import importlib |
23 | | -import pkg_resources |
| 22 | +import importlib.metadata |
| 23 | +from packaging.requirements import Requirement |
24 | 24 |
|
25 | 25 | import pyomo |
26 | 26 | import pyomo.environ as pyo |
@@ -72,22 +72,21 @@ def __init__(self, additional_solvers=()): |
72 | 72 | self.pyomo_version = pyomo.version.__version__ |
73 | 73 | # Get dependency info |
74 | 74 | self.dependency_versions = {} |
75 | | - reqs = pkg_resources.get_distribution("idaes-pse").requires() |
76 | | - for dep in [x.name for x in reqs]: |
| 75 | + reqs = importlib.metadata.requires("idaes-pse") |
| 76 | + for req in reqs: |
| 77 | + dep = Requirement(req).name |
77 | 78 | if dep == "pyomo": |
78 | 79 | continue # pyomo is special |
79 | 80 | try: |
80 | | - self.dependency_versions[dep] = pkg_resources.get_distribution( |
81 | | - dep |
82 | | - ).version |
83 | | - except pkg_resources.DistributionNotFound: |
| 81 | + self.dependency_versions[dep] = importlib.metadata.version(dep) |
| 82 | + except importlib.metadata.PackageNotFoundError: |
84 | 83 | self.dependency_versions[dep] = None |
85 | 84 | # Extra packages, users must install these for esoteric features |
86 | 85 | self.extra_versions = {} |
87 | 86 | for dep in self.extras: |
88 | 87 | try: |
89 | | - self.extra_versions[dep] = pkg_resources.get_distribution(dep).version |
90 | | - except pkg_resources.DistributionNotFound: |
| 88 | + self.extra_versions[dep] = importlib.metadata.version(dep) |
| 89 | + except importlib.metadata.PackageNotFoundError: |
91 | 90 | self.extra_versions[dep] = None |
92 | 91 | self.solver_versions = {} |
93 | 92 | for s in self.known_solvers + list(additional_solvers): |
|
0 commit comments