From 162e4035eb5dd2d1f5adcc729eea738f179f4c33 Mon Sep 17 00:00:00 2001 From: Glenn Jocher Date: Thu, 17 Aug 2023 19:32:12 +0200 Subject: [PATCH] Docker-python fix for `get_ubuntu_version()` (#4430) --- .github/workflows/docker.yaml | 2 +- tests/test_python.py | 4 +--- ultralytics/engine/exporter.py | 4 +++- ultralytics/utils/__init__.py | 7 ++++--- 4 files changed, 9 insertions(+), 8 deletions(-) diff --git a/.github/workflows/docker.yaml b/.github/workflows/docker.yaml index bd4d002..e82d673 100644 --- a/.github/workflows/docker.yaml +++ b/.github/workflows/docker.yaml @@ -85,7 +85,7 @@ jobs: docker push ultralytics/ultralytics:${{ matrix.tags }} - name: Notify on failure - if: github.event_name == 'push' && (cancelled() || failure()) + if: github.event_name == 'push' && failure() # do not notify on cancelled() as cancelling is performed by hand uses: slackapi/slack-github-action@v1.24.0 with: payload: | diff --git a/tests/test_python.py b/tests/test_python.py index 766c9df..bda1d38 100644 --- a/tests/test_python.py +++ b/tests/test_python.py @@ -295,10 +295,8 @@ def test_events(): def test_utils_init(): - from ultralytics.utils import (get_git_branch, get_git_origin_url, get_ubuntu_version, is_github_actions_ci, - is_ubuntu) + from ultralytics.utils import get_git_branch, get_git_origin_url, get_ubuntu_version, is_github_actions_ci - is_ubuntu() get_ubuntu_version() is_github_actions_ci() get_git_origin_url() diff --git a/ultralytics/engine/exporter.py b/ultralytics/engine/exporter.py index 6800ea5..3398c05 100644 --- a/ultralytics/engine/exporter.py +++ b/ultralytics/engine/exporter.py @@ -424,7 +424,9 @@ class Exporter: 'https://github.com/pnnx/pnnx/.\nNote PNNX Binary file must be placed in current working directory ' f'or in {ROOT}. See PNNX repo for full installation instructions.') _, assets = get_github_assets(repo='pnnx/pnnx', retry=True) - asset = [x for x in assets if ('macos' if MACOS else 'ubuntu' if LINUX else 'windows') in x][0] + system = 'macos' if MACOS else 'ubuntu' if LINUX else 'windows' # operating system + asset = [x for x in assets if system in x][0] if assets else \ + f'https://github.com/pnnx/pnnx/releases/download/20230816/pnnx-20230816-{system}.zip' # fallback attempt_download_asset(asset, repo='pnnx/pnnx', release='latest') unzip_dir = Path(asset).with_suffix('') pnnx = ROOT / pnnx_filename # new location diff --git a/ultralytics/utils/__init__.py b/ultralytics/utils/__init__.py index e8a912e..8d07306 100644 --- a/ultralytics/utils/__init__.py +++ b/ultralytics/utils/__init__.py @@ -571,9 +571,10 @@ def get_ubuntu_version(): Returns: (str): Ubuntu version or None if not an Ubuntu OS. """ - with contextlib.suppress(FileNotFoundError, AttributeError): - with open('/etc/os-release') as f: - return re.search(r'VERSION_ID="(\d+\.\d+)"', f.read())[1] + if is_ubuntu(): + with contextlib.suppress(FileNotFoundError, AttributeError): + with open('/etc/os-release') as f: + return re.search(r'VERSION_ID="(\d+\.\d+)"', f.read())[1] def get_user_config_dir(sub_dir='Ultralytics'):