eric6/PipInterface/PipPackagesWidget.py

changeset 7641
21ea4fd50b0a
parent 7626
7f643d41464e
child 7726
b1ade4fcf05f
equal deleted inserted replaced
7640:f9bb7c8c60d8 7641:21ea4fd50b0a
24 from E5Network.E5XmlRpcClient import E5XmlRpcClient 24 from E5Network.E5XmlRpcClient import E5XmlRpcClient
25 25
26 from .Ui_PipPackagesWidget import Ui_PipPackagesWidget 26 from .Ui_PipPackagesWidget import Ui_PipPackagesWidget
27 27
28 import UI.PixmapCache 28 import UI.PixmapCache
29 import Globals
29 30
30 31
31 class PipPackagesWidget(QWidget, Ui_PipPackagesWidget): 32 class PipPackagesWidget(QWidget, Ui_PipPackagesWidget):
32 """ 33 """
33 Class implementing the pip packages management widget. 34 Class implementing the pip packages management widget.
151 if venvName: 152 if venvName:
152 available = len(self.packagesList.findItems( 153 available = len(self.packagesList.findItems(
153 "pip", Qt.MatchExactly | Qt.MatchCaseSensitive)) == 1 154 "pip", Qt.MatchExactly | Qt.MatchCaseSensitive)) == 1
154 155
155 return available 156 return available
157
158 def __availablePipVersion(self):
159 """
160 Private method to get the pip version of the selected environment.
161
162 @return tuple containing the version number or tuple with all zeros
163 in case pip is not available
164 @rtype tuple of int
165 """
166 pipVersionTuple = (0, 0, 0)
167 venvName = self.environmentsComboBox.currentText()
168 if venvName:
169 pipList = self.packagesList.findItems(
170 "pip", Qt.MatchExactly | Qt.MatchCaseSensitive)
171 if len(pipList) > 0:
172 pipVersionTuple = Globals.versionToTuple(pipList[0].text(1))
173
174 return pipVersionTuple
156 175
157 ####################################################################### 176 #######################################################################
158 ## Slots handling widget signals below 177 ## Slots handling widget signals below
159 ####################################################################### 178 #######################################################################
160 179
972 """ 991 """
973 Private slot to set the action enabled status. 992 Private slot to set the action enabled status.
974 """ 993 """
975 enable = bool(self.environmentsComboBox.currentText()) 994 enable = bool(self.environmentsComboBox.currentText())
976 enablePip = self.__isPipAvailable() 995 enablePip = self.__isPipAvailable()
996 enablePipCache = self.__availablePipVersion() >= (20, 1, 0)
977 997
978 self.__installPipAct.setEnabled(not enablePip) 998 self.__installPipAct.setEnabled(not enablePip)
979 self.__installPipUserAct.setEnabled(not enablePip) 999 self.__installPipUserAct.setEnabled(not enablePip)
980 self.__repairPipAct.setEnabled(enablePip) 1000 self.__repairPipAct.setEnabled(enablePip)
981 1001
984 1004
985 self.__installRequirementsAct.setEnabled(enablePip) 1005 self.__installRequirementsAct.setEnabled(enablePip)
986 self.__uninstallRequirementsAct.setEnabled(enablePip) 1006 self.__uninstallRequirementsAct.setEnabled(enablePip)
987 self.__generateRequirementsAct.setEnabled(enablePip) 1007 self.__generateRequirementsAct.setEnabled(enablePip)
988 1008
989 self.__cacheInfoAct.setEnabled(enablePip) 1009 self.__cacheInfoAct.setEnabled(enablePipCache)
990 self.__cacheShowListAct.setEnabled(enablePip) 1010 self.__cacheShowListAct.setEnabled(enablePipCache)
991 self.__cacheRemoveAct.setEnabled(enablePip) 1011 self.__cacheRemoveAct.setEnabled(enablePipCache)
992 self.__cachePurgeAct.setEnabled(enablePip) 1012 self.__cachePurgeAct.setEnabled(enablePipCache)
993 1013
994 self.__editVirtualenvConfigAct.setEnabled(enable) 1014 self.__editVirtualenvConfigAct.setEnabled(enable)
995 1015
996 @pyqtSlot() 1016 @pyqtSlot()
997 def __installPip(self): 1017 def __installPip(self):

eric ide

mercurial