Switch from pkg_resources to importlib
Seen on Arch Linux: ModuleNotFoundError: No module named 'pkg_resources' On new enough Python, we don't need it anyway. Change-Id: I3d46319a36a1c2477e9f7dae0c7e40a362a17639
This commit is contained in:
parent
0f2b567953
commit
16f0034e67
@ -12,16 +12,30 @@
|
|||||||
# License for the specific language governing permissions and limitations
|
# License for the specific language governing permissions and limitations
|
||||||
# under the License.
|
# under the License.
|
||||||
|
|
||||||
import pkg_resources
|
version_string = None
|
||||||
|
|
||||||
|
# First, try to get our version out of PKG-INFO. If we're installed,
|
||||||
|
# this'll let us find our version without pulling in pbr. After all, if
|
||||||
|
# we're installed on a system, we're not in a Git-managed source tree, so
|
||||||
|
# pbr doesn't really buy us anything.
|
||||||
try:
|
try:
|
||||||
# First, try to get our version out of PKG-INFO. If we're installed,
|
import importlib.metadata
|
||||||
# this will let us find our version without pulling in pbr. After all, if
|
except ImportError:
|
||||||
# we're installed on a system, we're not in a Git-managed source tree, so
|
# python < 3.8
|
||||||
# pbr doesn't really buy us anything.
|
import pkg_resources
|
||||||
version_string = pkg_resources.get_provider(
|
try:
|
||||||
pkg_resources.Requirement.parse('python-swiftclient')).version
|
version_string = pkg_resources.get_provider(
|
||||||
except pkg_resources.DistributionNotFound:
|
pkg_resources.Requirement.parse('python-swiftclient')).version
|
||||||
|
except pkg_resources.DistributionNotFound:
|
||||||
|
pass
|
||||||
|
else:
|
||||||
|
try:
|
||||||
|
version_string = importlib.metadata.distribution(
|
||||||
|
'python-swiftclient').version
|
||||||
|
except importlib.metadata.PackageNotFoundError:
|
||||||
|
pass
|
||||||
|
|
||||||
|
if version_string is None:
|
||||||
# No PKG-INFO? We're probably running from a checkout, then. Let pbr do
|
# No PKG-INFO? We're probably running from a checkout, then. Let pbr do
|
||||||
# its thing to figure out a version number.
|
# its thing to figure out a version number.
|
||||||
import pbr.version
|
import pbr.version
|
||||||
|
Loading…
x
Reference in New Issue
Block a user