src/eric7/PipInterface/Pip.py

branch
eric7
changeset 11006
a671918232f3
parent 10990
31677cc3713e
child 11019
27cd57e98461
child 11090
f5f5f5803935
equal deleted inserted replaced
11005:b918c6c2736b 11006:a671918232f3
302 """ 302 """
303 interpreter = self.getVirtualenvInterpreter(venvName) 303 interpreter = self.getVirtualenvInterpreter(venvName)
304 if not interpreter: 304 if not interpreter:
305 return 305 return
306 306
307 dia = PipDialog(self.tr("Install PIP")) 307 dia = PipDialog(self.tr("Install PIP"), parent=self.__ui)
308 commands = ( 308 commands = (
309 [(interpreter, ["-m", "ensurepip", "--user"])] 309 [(interpreter, ["-m", "ensurepip", "--user"])]
310 if userSite 310 if userSite
311 else [(interpreter, ["-m", "ensurepip"])] 311 else [(interpreter, ["-m", "ensurepip"])]
312 ) 312 )
349 ] 349 ]
350 else: 350 else:
351 args = ["-m", "pip", "install", "--ignore-installed"] 351 args = ["-m", "pip", "install", "--ignore-installed"]
352 args.append("pip") 352 args.append("pip")
353 353
354 dia = PipDialog(self.tr("Repair PIP")) 354 dia = PipDialog(self.tr("Repair PIP"), parent=self.__ui)
355 res = dia.startProcess(interpreter, args) 355 res = dia.startProcess(interpreter, args)
356 if res: 356 if res:
357 dia.exec() 357 dia.exec()
358 358
359 def __checkUpgradePyQt(self, packages): 359 def __checkUpgradePyQt(self, packages):
481 else: 481 else:
482 args = ["-m", "pip", "install", "--upgrade"] 482 args = ["-m", "pip", "install", "--upgrade"]
483 if userSite: 483 if userSite:
484 args.append("--user") 484 args.append("--user")
485 args += packages 485 args += packages
486 dia = PipDialog(self.tr("Upgrade Packages")) 486 dia = PipDialog(self.tr("Upgrade Packages"), parent=self.__ui)
487 res = dia.startProcess(interpreter, args) 487 res = dia.startProcess(interpreter, args)
488 if res: 488 if res:
489 dia.exec() 489 dia.exec()
490 return res 490 return res
491 491
527 if userSite: 527 if userSite:
528 args.append("--user") 528 args.append("--user")
529 if forceReinstall: 529 if forceReinstall:
530 args.append("--force-reinstall") 530 args.append("--force-reinstall")
531 args += packages 531 args += packages
532 dia = PipDialog(self.tr("Install Packages")) 532 dia = PipDialog(self.tr("Install Packages"), parent=self.__ui)
533 res = dia.startProcess(interpreter, args) 533 res = dia.startProcess(interpreter, args)
534 if res: 534 if res:
535 dia.exec() 535 dia.exec()
536 536
537 def installRequirements(self, venvName): 537 def installRequirements(self, venvName):
541 @param venvName name of the virtual environment to be used 541 @param venvName name of the virtual environment to be used
542 @type str 542 @type str
543 """ 543 """
544 from .PipFileSelectionDialog import PipFileSelectionDialog 544 from .PipFileSelectionDialog import PipFileSelectionDialog
545 545
546 dlg = PipFileSelectionDialog("requirements") 546 dlg = PipFileSelectionDialog("requirements", parent=self.__ui)
547 if dlg.exec() == QDialog.DialogCode.Accepted: 547 if dlg.exec() == QDialog.DialogCode.Accepted:
548 requirements, user = dlg.getData() 548 requirements, user = dlg.getData()
549 if requirements and os.path.exists(requirements): 549 if requirements and os.path.exists(requirements):
550 interpreter = self.getVirtualenvInterpreter(venvName) 550 interpreter = self.getVirtualenvInterpreter(venvName)
551 if not interpreter: 551 if not interpreter:
557 else: 557 else:
558 args = ["-m", "pip", "install"] 558 args = ["-m", "pip", "install"]
559 if user: 559 if user:
560 args.append("--user") 560 args.append("--user")
561 args += ["--requirement", requirements] 561 args += ["--requirement", requirements]
562 dia = PipDialog(self.tr("Install Packages from Requirements")) 562 dia = PipDialog(
563 self.tr("Install Packages from Requirements"), parent=self.__ui
564 )
563 res = dia.startProcess(interpreter, args) 565 res = dia.startProcess(interpreter, args)
564 if res: 566 if res:
565 dia.exec() 567 dia.exec()
566 568
567 def installEditableProject(self, interpreter, projectPath): 569 def installEditableProject(self, interpreter, projectPath):
578 if Preferences.getPip("PipSearchIndex"): 580 if Preferences.getPip("PipSearchIndex"):
579 indexUrl = Preferences.getPip("PipSearchIndex") + "/simple" 581 indexUrl = Preferences.getPip("PipSearchIndex") + "/simple"
580 args += ["--index-url", indexUrl] 582 args += ["--index-url", indexUrl]
581 args += ["--editable", projectPath] 583 args += ["--editable", projectPath]
582 584
583 dia = PipDialog(self.tr("Install Project")) 585 dia = PipDialog(self.tr("Install Project"), parent=self.__ui)
584 res = dia.startProcess(interpreter, args) 586 res = dia.startProcess(interpreter, args)
585 if res: 587 if res:
586 dia.exec() 588 dia.exec()
587 589
588 def installPyprojectDependencies(self, venvName): 590 def installPyprojectDependencies(self, venvName):
592 @param venvName name of the virtual environment to be used 594 @param venvName name of the virtual environment to be used
593 @type str 595 @type str
594 """ 596 """
595 from .PipFileSelectionDialog import PipFileSelectionDialog 597 from .PipFileSelectionDialog import PipFileSelectionDialog
596 598
597 dlg = PipFileSelectionDialog("pyproject") 599 dlg = PipFileSelectionDialog("pyproject", parent=self.__ui)
598 if dlg.exec() == QDialog.DialogCode.Accepted: 600 if dlg.exec() == QDialog.DialogCode.Accepted:
599 pyproject, user = dlg.getData() 601 pyproject, user = dlg.getData()
600 if pyproject and os.path.exists(pyproject): 602 if pyproject and os.path.exists(pyproject):
601 try: 603 try:
602 with open(pyproject, "r", encoding="utf-8") as f: 604 with open(pyproject, "r", encoding="utf-8") as f:
633 else: 635 else:
634 args = ["-m", "pip", "install"] 636 args = ["-m", "pip", "install"]
635 if user: 637 if user:
636 args.append("--user") 638 args.append("--user")
637 args += dependencies 639 args += dependencies
638 dia = PipDialog(self.tr("Install Packages from 'pyproject.toml'")) 640 dia = PipDialog(
641 self.tr("Install Packages from 'pyproject.toml'"), parent=self.__ui
642 )
639 res = dia.startProcess(interpreter, args) 643 res = dia.startProcess(interpreter, args)
640 if res: 644 if res:
641 dia.exec() 645 dia.exec()
642 646
643 def uninstallPackages(self, packages, venvName): 647 def uninstallPackages(self, packages, venvName):
662 if dlg.exec() == QDialog.DialogCode.Accepted: 666 if dlg.exec() == QDialog.DialogCode.Accepted:
663 interpreter = self.getVirtualenvInterpreter(venvName) 667 interpreter = self.getVirtualenvInterpreter(venvName)
664 if not interpreter: 668 if not interpreter:
665 return False 669 return False
666 args = ["-m", "pip", "uninstall", "--yes"] + packages 670 args = ["-m", "pip", "uninstall", "--yes"] + packages
667 dia = PipDialog(self.tr("Uninstall Packages")) 671 dia = PipDialog(self.tr("Uninstall Packages"), parent=self.__ui)
668 res = dia.startProcess(interpreter, args) 672 res = dia.startProcess(interpreter, args)
669 if res: 673 if res:
670 dia.exec() 674 dia.exec()
671 return res 675 return res
672 676
678 @type str 682 @type str
679 """ 683 """
680 from .PipFileSelectionDialog import PipFileSelectionDialog 684 from .PipFileSelectionDialog import PipFileSelectionDialog
681 685
682 if venvName: 686 if venvName:
683 dlg = PipFileSelectionDialog("requirements", install=False) 687 dlg = PipFileSelectionDialog(
688 "requirements", install=False, parent=self.__ui
689 )
684 if dlg.exec() == QDialog.DialogCode.Accepted: 690 if dlg.exec() == QDialog.DialogCode.Accepted:
685 requirements, _user = dlg.getData() 691 requirements, _user = dlg.getData()
686 if requirements and os.path.exists(requirements): 692 if requirements and os.path.exists(requirements):
687 try: 693 try:
688 with open(requirements, "r") as f: 694 with open(requirements, "r") as f:
707 "uninstall", 713 "uninstall",
708 "--yes", 714 "--yes",
709 "--requirement", 715 "--requirement",
710 requirements, 716 requirements,
711 ] 717 ]
712 dia = PipDialog(self.tr("Uninstall Packages from Requirements")) 718 dia = PipDialog(
719 self.tr("Uninstall Packages from Requirements"),
720 parent=self.__ui,
721 )
713 res = dia.startProcess(interpreter, args) 722 res = dia.startProcess(interpreter, args)
714 if res: 723 if res:
715 dia.exec() 724 dia.exec()
716 725
717 def uninstallPyprojectDependencies(self, venvName): 726 def uninstallPyprojectDependencies(self, venvName):
722 @type str 731 @type str
723 """ 732 """
724 from .PipFileSelectionDialog import PipFileSelectionDialog 733 from .PipFileSelectionDialog import PipFileSelectionDialog
725 734
726 if venvName: 735 if venvName:
727 dlg = PipFileSelectionDialog("pyproject", install=False) 736 dlg = PipFileSelectionDialog("pyproject", install=False, parent=self.__ui)
728 if dlg.exec() == QDialog.DialogCode.Accepted: 737 if dlg.exec() == QDialog.DialogCode.Accepted:
729 pyproject, _user = dlg.getData() 738 pyproject, _user = dlg.getData()
730 if pyproject and os.path.exists(pyproject): 739 if pyproject and os.path.exists(pyproject):
731 try: 740 try:
732 with open(pyproject, "r", encoding="utf-8") as f: 741 with open(pyproject, "r", encoding="utf-8") as f:
772 if not interpreter: 781 if not interpreter:
773 return 782 return
774 783
775 args = ["-m", "pip", "uninstall", "--yes"] + dependencies 784 args = ["-m", "pip", "uninstall", "--yes"] + dependencies
776 dia = PipDialog( 785 dia = PipDialog(
777 self.tr("Uninstall Packages from 'pyproject.toml'") 786 self.tr("Uninstall Packages from 'pyproject.toml'"),
787 parent=self.__ui,
778 ) 788 )
779 res = dia.startProcess(interpreter, args) 789 res = dia.startProcess(interpreter, args)
780 if res: 790 if res:
781 dia.exec() 791 dia.exec()
782 792
1180 """ 1190 """
1181 if venvName: 1191 if venvName:
1182 interpreter = self.getVirtualenvInterpreter(venvName) 1192 interpreter = self.getVirtualenvInterpreter(venvName)
1183 if interpreter: 1193 if interpreter:
1184 args = ["-m", "pip", "cache", "info"] 1194 args = ["-m", "pip", "cache", "info"]
1185 dia = PipDialog(self.tr("Cache Info")) 1195 dia = PipDialog(self.tr("Cache Info"), parent=self.__ui)
1186 res = dia.startProcess(interpreter, args, showArgs=False) 1196 res = dia.startProcess(interpreter, args, showArgs=False)
1187 if res: 1197 if res:
1188 dia.exec() 1198 dia.exec()
1189 1199
1190 def cacheList(self, venvName): 1200 def cacheList(self, venvName):
1206 1216
1207 if ok: 1217 if ok:
1208 args = ["-m", "pip", "cache", "list"] 1218 args = ["-m", "pip", "cache", "list"]
1209 if pattern.strip(): 1219 if pattern.strip():
1210 args.append(pattern.strip()) 1220 args.append(pattern.strip())
1211 dia = PipDialog(self.tr("List Cached Files")) 1221 dia = PipDialog(self.tr("List Cached Files"), parent=self.__ui)
1212 res = dia.startProcess(interpreter, args, showArgs=False) 1222 res = dia.startProcess(interpreter, args, showArgs=False)
1213 if res: 1223 if res:
1214 dia.exec() 1224 dia.exec()
1215 1225
1216 def cacheRemove(self, venvName): 1226 def cacheRemove(self, venvName):
1230 QLineEdit.EchoMode.Normal, 1240 QLineEdit.EchoMode.Normal,
1231 ) 1241 )
1232 1242
1233 if ok and pattern.strip(): 1243 if ok and pattern.strip():
1234 args = ["-m", "pip", "cache", "remove", pattern.strip()] 1244 args = ["-m", "pip", "cache", "remove", pattern.strip()]
1235 dia = PipDialog(self.tr("Remove Cached Files")) 1245 dia = PipDialog(self.tr("Remove Cached Files"), parent=self.__ui)
1236 res = dia.startProcess(interpreter, args, showArgs=False) 1246 res = dia.startProcess(interpreter, args, showArgs=False)
1237 if res: 1247 if res:
1238 dia.exec() 1248 dia.exec()
1239 1249
1240 def cachePurge(self, venvName): 1250 def cachePurge(self, venvName):
1255 " files need to be downloaded again." 1265 " files need to be downloaded again."
1256 ), 1266 ),
1257 ) 1267 )
1258 if ok: 1268 if ok:
1259 args = ["-m", "pip", "cache", "purge"] 1269 args = ["-m", "pip", "cache", "purge"]
1260 dia = PipDialog(self.tr("Purge Cache")) 1270 dia = PipDialog(self.tr("Purge Cache"), parent=self.__ui)
1261 res = dia.startProcess(interpreter, args, showArgs=False) 1271 res = dia.startProcess(interpreter, args, showArgs=False)
1262 if res: 1272 if res:
1263 dia.exec() 1273 dia.exec()
1264 1274
1265 ####################################################################### 1275 #######################################################################

eric ide

mercurial