src/eric7/PipInterface/PipPackagesWidget.py

branch
eric7
changeset 10620
699b5ceb39aa
parent 10481
9aea3575bd16
child 10659
43ead32943ca
child 10683
779cda568acb
diff -r bd15b5b625cb -r 699b5ceb39aa src/eric7/PipInterface/PipPackagesWidget.py
--- a/src/eric7/PipInterface/PipPackagesWidget.py	Sun Mar 03 16:31:14 2024 +0100
+++ b/src/eric7/PipInterface/PipPackagesWidget.py	Mon Mar 04 11:26:52 2024 +0100
@@ -1289,6 +1289,15 @@
             self.tr("Generate Requirements..."), self.__generateRequirements
         )
         self.__requirementsSubenu.addSeparator()
+        self.__installPyprojectAct = self.__requirementsSubenu.addAction(
+            self.tr("Install from 'pyproject.toml'"),
+            self.__installPyprojectDependencies,
+        )
+        self.__uninstallPyprojectAct = self.__requirementsSubenu.addAction(
+            self.tr("Uninstall from 'pyproject.toml'"),
+            self.__uninstallPyprojectDependencies,
+        )
+        self.__requirementsSubenu.addSeparator()
         self.__generateConstraintsAct = self.__requirementsSubenu.addAction(
             self.tr("Generate Constraints..."), self.__generateConstraints
         )
@@ -1518,6 +1527,26 @@
             self.__freezeDialog.start(venvName)
 
     @pyqtSlot()
+    def __installPyprojectDependencies(self):
+        """
+        Private slot to install packages as given in a 'pyproject.toml' file.
+        """
+        venvName = self.environmentsComboBox.currentText()
+        if venvName:
+            self.__pip.installPyprojectDependencies(venvName)
+            self.on_refreshButton_clicked()
+
+    @pyqtSlot()
+    def __uninstallPyprojectDependencies(self):
+        """
+        Private slot to uninstall packages as given in a 'pyproject.toml' file.
+        """
+        venvName = self.environmentsComboBox.currentText()
+        if venvName:
+            self.__pip.uninstallPyprojectDependencies(venvName)
+            self.on_refreshButton_clicked()
+
+    @pyqtSlot()
     def __editUserConfiguration(self):
         """
         Private slot to edit the user configuration.

eric ide

mercurial