From 5d486f0d35f40ec124baf0b8ef785da724fc190d Mon Sep 17 00:00:00 2001 From: Glenn Jocher Date: Sun, 9 May 2021 14:05:05 +0200 Subject: [PATCH 1/3] Add check_python() Checks python version against minimum version of 3.7.0. --- utils/general.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/utils/general.py b/utils/general.py index c47432b4529c..459e31db2be2 100755 --- a/utils/general.py +++ b/utils/general.py @@ -107,10 +107,21 @@ def check_git_status(): print(e) +def check_python(minimum='3.7.0', required=True): + # Check current python version vs. required python version + from packaging import version + current = platform.python_version() + result = version.parse(current) >= version.parse(minimum) + if required: + assert result, f'Python {minimum} required by YOLOv5, but Python {current} is currently installed' + return result + + def check_requirements(requirements='requirements.txt', exclude=()): # Check installed dependencies meet requirements (pass *.txt file or list of packages) import pkg_resources as pkg prefix = colorstr('red', 'bold', 'requirements:') + check_python() # check python version if isinstance(requirements, (str, Path)): # requirements.txt file file = Path(requirements) if not file.exists(): From 6380446a20e872b0704dd46ec7a06fb1006e352d Mon Sep 17 00:00:00 2001 From: Glenn Jocher Date: Sun, 9 May 2021 14:20:28 +0200 Subject: [PATCH 2/3] remove packaging dependency --- utils/general.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/utils/general.py b/utils/general.py index 459e31db2be2..59e87eb8072d 100755 --- a/utils/general.py +++ b/utils/general.py @@ -109,9 +109,9 @@ def check_git_status(): def check_python(minimum='3.7.0', required=True): # Check current python version vs. required python version - from packaging import version + import pkg_resources as pkg current = platform.python_version() - result = version.parse(current) >= version.parse(minimum) + result = pkg.parse_version(current) >= pkg.parse_version(minimum) if required: assert result, f'Python {minimum} required by YOLOv5, but Python {current} is currently installed' return result From 93816b6c77536182c88dfc8415d50246a011165f Mon Sep 17 00:00:00 2001 From: Glenn Jocher Date: Sun, 9 May 2021 14:21:35 +0200 Subject: [PATCH 3/3] refactor import --- utils/general.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/utils/general.py b/utils/general.py index 59e87eb8072d..a4c745d1dcaf 100755 --- a/utils/general.py +++ b/utils/general.py @@ -16,6 +16,7 @@ import cv2 import numpy as np import pandas as pd +import pkg_resources as pkg import torch import torchvision import yaml @@ -109,7 +110,6 @@ def check_git_status(): def check_python(minimum='3.7.0', required=True): # Check current python version vs. required python version - import pkg_resources as pkg current = platform.python_version() result = pkg.parse_version(current) >= pkg.parse_version(minimum) if required: @@ -119,7 +119,6 @@ def check_python(minimum='3.7.0', required=True): def check_requirements(requirements='requirements.txt', exclude=()): # Check installed dependencies meet requirements (pass *.txt file or list of packages) - import pkg_resources as pkg prefix = colorstr('red', 'bold', 'requirements:') check_python() # check python version if isinstance(requirements, (str, Path)): # requirements.txt file