src/eric7/PipInterface/PipPackagesWidget.py

branch
eric7
changeset 10093
245505200513
parent 10084
125166c6b66c
child 10101
34f74c19ed7a
child 10104
3634d3c2a363
diff -r 679df6285434 -r 245505200513 src/eric7/PipInterface/PipPackagesWidget.py
--- a/src/eric7/PipInterface/PipPackagesWidget.py	Thu Jun 22 19:07:39 2023 +0200
+++ b/src/eric7/PipInterface/PipPackagesWidget.py	Thu Jun 29 13:28:22 2023 +0200
@@ -12,7 +12,7 @@
 import os
 import textwrap
 
-from packaging.specifiers import SpecifierSet
+from packaging.specifiers import InvalidSpecifier, SpecifierSet
 from PyQt6.QtCore import Qt, QUrl, QUrlQuery, pyqtSlot
 from PyQt6.QtGui import QIcon
 from PyQt6.QtNetwork import QNetworkReply, QNetworkRequest
@@ -1870,11 +1870,17 @@
                 if dependency["required_version"][0] in "0123456789"
                 else dependency["required_version"]
             )
-            specifierSet = SpecifierSet(specifiers=spec)
-            if not specifierSet.contains(dependency["installed_version"]):
-                itm.setIcon(
+            try:
+                specifierSet = SpecifierSet(specifiers=spec)
+                if not specifierSet.contains(dependency["installed_version"]):
+                    itm.setIcon(
+                        PipPackagesWidget.DepRequiredVersionColumn,
+                        EricPixmapCache.getIcon("warning"),
+                    )
+            except InvalidSpecifier:
+                itm.setText(
                     PipPackagesWidget.DepRequiredVersionColumn,
-                    EricPixmapCache.getIcon("warning"),
+                    dependency["required_version"],
                 )
 
         elif dependency["required_version"].lower() == "any":

eric ide

mercurial