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: |
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 ####################################################################### |