mirror of
https://gitlab.alpinelinux.org/alpine/aports.git
synced 2026-05-17 02:26:34 +02:00
Fix `ModuleNotFoundError: No module named 'pkg_resources'` error when building with setuptools 82. Ref: https://gitlab.alpinelinux.org/alpine/aports/-/issues/18025
68 lines
2.4 KiB
Diff
68 lines
2.4 KiB
Diff
Patch-Source: https://github.com/ansible-community/ansible-bender/commit/7b9a61a0015f08702bba0e9c66411f074986c52f
|
|
---
|
|
From 7b9a61a0015f08702bba0e9c66411f074986c52f Mon Sep 17 00:00:00 2001
|
|
From: Maxwell G <maxwell@gtmx.me>
|
|
Date: Mon, 6 Mar 2023 07:24:19 -0600
|
|
Subject: [PATCH] Remove pkg_resources usage
|
|
|
|
pkg_resources is deprecated [1] and expensive to import. Use the newer,
|
|
leaner importlib.metadata package instead.
|
|
|
|
[1] https://github.com/pypa/setuptools/commit/a1aeda391a0c462ea53627bcdf50dd4c0daadaed
|
|
---
|
|
ansible_bender/__init__.py | 12 ++++++++----
|
|
ansible_bender/cli.py | 8 ++++----
|
|
2 files changed, 12 insertions(+), 8 deletions(-)
|
|
|
|
diff --git a/ansible_bender/__init__.py b/ansible_bender/__init__.py
|
|
index 5602d79..df367ca 100644
|
|
--- a/ansible_bender/__init__.py
|
|
+++ b/ansible_bender/__init__.py
|
|
@@ -6,9 +6,13 @@
|
|
$ ab build ./playbook.yaml fedora:28 my-custom-image
|
|
|
|
"""
|
|
-from pkg_resources import get_distribution, DistributionNotFound
|
|
try:
|
|
- __version__ = get_distribution(__name__).version
|
|
-except DistributionNotFound:
|
|
+ from importlib.metadata import version, PackageNotFoundError
|
|
+except ImportError:
|
|
+ from importlib_metadata import version, PackageNotFoundError
|
|
+
|
|
+try:
|
|
+ __version__ = version(__name__)
|
|
+except PackageNotFoundError:
|
|
# package is not installed
|
|
- pass
|
|
+ __version__ = None
|
|
diff --git a/ansible_bender/cli.py b/ansible_bender/cli.py
|
|
index 744f753..9490f3a 100644
|
|
--- a/ansible_bender/cli.py
|
|
+++ b/ansible_bender/cli.py
|
|
@@ -6,10 +6,10 @@
|
|
import json
|
|
import sys
|
|
import subprocess
|
|
-import pkg_resources
|
|
import yaml
|
|
from tabulate import tabulate
|
|
|
|
+from ansible_bender import __version__
|
|
from ansible_bender.api import Application
|
|
from ansible_bender.constants import ANNOTATIONS_KEY, PLAYBOOK_TEMPLATE
|
|
from ansible_bender.core import AnsibleVarsParser
|
|
@@ -421,9 +421,9 @@ def run(self):
|
|
subcommand = getattr(self.args, "subcommand", "nope")
|
|
try:
|
|
if self.args.version:
|
|
- try:
|
|
- print(pkg_resources.get_distribution("ansible-bender").version)
|
|
- except pkg_resources.DistributionNotFound:
|
|
+ if __version__ is not None:
|
|
+ print(__version__)
|
|
+ else:
|
|
print("Ansible-bender is not installed, therefore we can't print the version.")
|
|
print("Please run `python3 setup.py --version` instead.")
|
|
return 18
|