--- a/PipxInterface/Pipx.py Tue Dec 10 17:43:42 2024 +0100 +++ b/PipxInterface/Pipx.py Tue Dec 10 17:50:48 2024 +0100 @@ -784,25 +784,37 @@ (d["name"], d["version"]) for d in dependenciesList if d["name"] != package ] - def upgradePackageDependencies(self, package): + def upgradePackageDependencies(self, package, dependencies=None): """ Public method to upgrade the dependencies of the given package. @param package name of the package @type str + @param dependencies list of dependencies to be upgraded or None to + upgrade all outdated dependencies (defaults to None) + @type list of str or None (optional) """ - outdatedDependencies = [ - d[0] for d in self.getOutdatedPackageDependencies(package=package) - ] - args = [ - "runpip", - package, - "install", - "--upgrade", - "--prefer-binary", - ] + outdatedDependencies + if dependencies is None: + dependencies = [ + d[0] for d in self.getOutdatedPackageDependencies(package=package) + ] - dia = PipxExecDialog(self.tr("Upgrade Dependencies"), parent=self.__ui) - res = dia.startProcess(self.__getPipxExecutable(), args) - if res: - dia.exec() + if dependencies: + args = [ + "runpip", + package, + "install", + "--upgrade", + "--prefer-binary", + ] + dependencies + + dia = PipxExecDialog(self.tr("Upgrade Dependencies"), parent=self.__ui) + res = dia.startProcess(self.__getPipxExecutable(), args) + if res: + dia.exec() + else: + EricMessageBox.information( + self.__ui, + self.tr("Upgrade Dependencies"), + self.tr("""All dependencies are already up-to-date."""), + )