Plugins/UiExtensionPlugins/PipInterface/Pip.py

changeset 6294
58f82c179d2b
parent 6290
bf4624957d2d
child 6301
f488d2cc5841
equal deleted inserted replaced
6293:509768769afe 6294:58f82c179d2b
125 125
126 ############################################## 126 ##############################################
127 ## Actions for installing packages 127 ## Actions for installing packages
128 ############################################## 128 ##############################################
129 129
130 # TODO: add action to install a downloaded wheel via pip
131 self.installPackagesAct = E5Action( 130 self.installPackagesAct = E5Action(
132 self.tr('Install Packages'), 131 self.tr('Install Packages'),
133 self.tr('&Install Packages'), 132 self.tr('&Install Packages'),
134 0, 0, 133 0, 0,
135 self, 'pip_install_packages') 134 self, 'pip_install_packages')
139 """<b>Install Packages</b>""" 138 """<b>Install Packages</b>"""
140 """<p>This installs packages according to user input.</p>""" 139 """<p>This installs packages according to user input.</p>"""
141 )) 140 ))
142 self.installPackagesAct.triggered.connect(self.__installPackages) 141 self.installPackagesAct.triggered.connect(self.__installPackages)
143 self.actions.append(self.installPackagesAct) 142 self.actions.append(self.installPackagesAct)
143
144 self.installLocalPackageAct = E5Action(
145 self.tr('Install Local Package'),
146 self.tr('Install Local Package'),
147 0, 0,
148 self, 'pip_install_local_package')
149 self.installLocalPackageAct.setStatusTip(self.tr(
150 'Install a package from local storage'))
151 self.installLocalPackageAct.setWhatsThis(self.tr(
152 """<b>Install Local Package</b>"""
153 """<p>This installs a package available on local storage.</p>"""
154 ))
155 self.installLocalPackageAct.triggered.connect(
156 self.__installLocalPackage)
157 self.actions.append(self.installLocalPackageAct)
144 158
145 self.installRequirementsAct = E5Action( 159 self.installRequirementsAct = E5Action(
146 self.tr('Install Requirements'), 160 self.tr('Install Requirements'),
147 self.tr('Install Requirements'), 161 self.tr('Install Requirements'),
148 0, 0, 162 0, 0,
354 menu.addAction(self.listUptodatePackagesAct) 368 menu.addAction(self.listUptodatePackagesAct)
355 menu.addAction(self.listOutdatedPackagesAct) 369 menu.addAction(self.listOutdatedPackagesAct)
356 menu.addSeparator() 370 menu.addSeparator()
357 menu.addAction(self.installPipAct) 371 menu.addAction(self.installPipAct)
358 menu.addAction(self.installPackagesAct) 372 menu.addAction(self.installPackagesAct)
373 menu.addAction(self.installLocalPackageAct)
359 menu.addAction(self.installRequirementsAct) 374 menu.addAction(self.installRequirementsAct)
360 menu.addSeparator() 375 menu.addSeparator()
361 menu.addAction(self.upgradePipAct) 376 menu.addAction(self.upgradePipAct)
362 menu.addAction(self.upgradePackagesAct) 377 menu.addAction(self.upgradePackagesAct)
363 menu.addSeparator() 378 menu.addSeparator()
930 if dlg.exec_() == QDialog.Accepted: 945 if dlg.exec_() == QDialog.Accepted:
931 command, packages = dlg.getData() 946 command, packages = dlg.getData()
932 if packages: 947 if packages:
933 self.installPackages(packages, cmd=command) 948 self.installPackages(packages, cmd=command)
934 949
950 def __installLocalPackage(self):
951 """
952 Private slot to install a package available on local storage.
953 """
954 from .PipFileSelectionDialog import PipFileSelectionDialog
955 dlg = PipFileSelectionDialog(self.__plugin, "package")
956 if dlg.exec_() == QDialog.Accepted:
957 command, package = dlg.getData()
958 if package and os.path.exists(package):
959 self.installPackages([package], cmd=command)
960
935 def __installRequirements(self): 961 def __installRequirements(self):
936 """ 962 """
937 Private slot to install packages as given in a requirements file. 963 Private slot to install packages as given in a requirements file.
938 """ 964 """
939 from .PipRequirementsSelectionDialog import \ 965 from .PipFileSelectionDialog import PipFileSelectionDialog
940 PipRequirementsSelectionDialog 966 dlg = PipFileSelectionDialog(self.__plugin, "requirements")
941 dlg = PipRequirementsSelectionDialog(self.__plugin)
942 if dlg.exec_() == QDialog.Accepted: 967 if dlg.exec_() == QDialog.Accepted:
943 command, requirements = dlg.getData() 968 command, requirements = dlg.getData()
944 if requirements and os.path.exists(requirements): 969 if requirements and os.path.exists(requirements):
945 if not command: 970 if not command:
946 command = self.__plugin.getPreferences( 971 command = self.__plugin.getPreferences(
1000 1025
1001 def __uninstallRequirements(self): 1026 def __uninstallRequirements(self):
1002 """ 1027 """
1003 Private slot to uninstall packages as given in a requirements file. 1028 Private slot to uninstall packages as given in a requirements file.
1004 """ 1029 """
1005 from .PipRequirementsSelectionDialog import \ 1030 from .PipFileSelectionDialog import PipFileSelectionDialog
1006 PipRequirementsSelectionDialog 1031 dlg = PipFileSelectionDialog(self.__plugin, "requirements")
1007 dlg = PipRequirementsSelectionDialog(self.__plugin)
1008 if dlg.exec_() == QDialog.Accepted: 1032 if dlg.exec_() == QDialog.Accepted:
1009 command, requirements = dlg.getData() 1033 command, requirements = dlg.getData()
1010 if requirements and os.path.exists(requirements): 1034 if requirements and os.path.exists(requirements):
1011 try: 1035 try:
1012 f = open(requirements, "r") 1036 f = open(requirements, "r")

eric ide

mercurial