src/eric7/VirtualEnv/VirtualenvConfigurationDialog.py

branch
eric7
changeset 9624
b47dfa7a137d
parent 9473
3f23dbf37dbe
child 9653
e67609152c5e
equal deleted inserted replaced
9623:9c1f429cb56b 9624:b47dfa7a137d
12 import re 12 import re
13 13
14 from PyQt6.QtCore import QProcess, QTimer, pyqtSlot 14 from PyQt6.QtCore import QProcess, QTimer, pyqtSlot
15 from PyQt6.QtWidgets import QDialog, QDialogButtonBox 15 from PyQt6.QtWidgets import QDialog, QDialogButtonBox
16 16
17 from eric7 import CondaInterface, Globals, Preferences, Utilities 17 from eric7 import CondaInterface, Preferences
18 from eric7.EricWidgets.EricApplication import ericApp 18 from eric7.EricWidgets.EricApplication import ericApp
19 from eric7.EricWidgets.EricPathPicker import EricPathPickerModes 19 from eric7.EricWidgets.EricPathPicker import EricPathPickerModes
20 from eric7.SystemUtilities import FileSystemUtilities, OSUtilities, PythonUtilities
20 21
21 from .Ui_VirtualenvConfigurationDialog import Ui_VirtualenvConfigurationDialog 22 from .Ui_VirtualenvConfigurationDialog import Ui_VirtualenvConfigurationDialog
22 23
23 24
24 class VirtualenvConfigurationDialog(QDialog, Ui_VirtualenvConfigurationDialog): 25 class VirtualenvConfigurationDialog(QDialog, Ui_VirtualenvConfigurationDialog):
38 """ 39 """
39 super().__init__(parent) 40 super().__init__(parent)
40 self.setupUi(self) 41 self.setupUi(self)
41 42
42 if not baseDir: 43 if not baseDir:
43 baseDir = Utilities.getHomeDir() 44 baseDir = OSUtilities.getHomeDir()
44 self.__envBaseDir = baseDir 45 self.__envBaseDir = baseDir
45 46
46 self.targetDirectoryPicker.setMode(EricPathPickerModes.DIRECTORY_MODE) 47 self.targetDirectoryPicker.setMode(EricPathPickerModes.DIRECTORY_MODE)
47 self.targetDirectoryPicker.setWindowTitle( 48 self.targetDirectoryPicker.setWindowTitle(
48 self.tr("Virtualenv Target Directory") 49 self.tr("Virtualenv Target Directory")
52 53
53 self.extraSearchPathPicker.setMode(EricPathPickerModes.DIRECTORY_MODE) 54 self.extraSearchPathPicker.setMode(EricPathPickerModes.DIRECTORY_MODE)
54 self.extraSearchPathPicker.setWindowTitle( 55 self.extraSearchPathPicker.setWindowTitle(
55 self.tr("Extra Search Path for setuptools/pip") 56 self.tr("Extra Search Path for setuptools/pip")
56 ) 57 )
57 self.extraSearchPathPicker.setDefaultDirectory(Utilities.getHomeDir()) 58 self.extraSearchPathPicker.setDefaultDirectory(OSUtilities.getHomeDir())
58 59
59 self.pythonExecPicker.setMode(EricPathPickerModes.OPEN_FILE_MODE) 60 self.pythonExecPicker.setMode(EricPathPickerModes.OPEN_FILE_MODE)
60 self.pythonExecPicker.setWindowTitle(self.tr("Python Interpreter")) 61 self.pythonExecPicker.setWindowTitle(self.tr("Python Interpreter"))
61 self.pythonExecPicker.setDefaultDirectory(Globals.getPythonExecutable()) 62 self.pythonExecPicker.setDefaultDirectory(PythonUtilities.getPythonExecutable())
62 63
63 self.condaTargetDirectoryPicker.setMode(EricPathPickerModes.DIRECTORY_MODE) 64 self.condaTargetDirectoryPicker.setMode(EricPathPickerModes.DIRECTORY_MODE)
64 self.condaTargetDirectoryPicker.setWindowTitle( 65 self.condaTargetDirectoryPicker.setWindowTitle(
65 self.tr("Conda Environment Location") 66 self.tr("Conda Environment Location")
66 ) 67 )
67 self.condaTargetDirectoryPicker.setDefaultDirectory(Utilities.getHomeDir()) 68 self.condaTargetDirectoryPicker.setDefaultDirectory(OSUtilities.getHomeDir())
68 69
69 self.condaCloneDirectoryPicker.setMode(EricPathPickerModes.DIRECTORY_MODE) 70 self.condaCloneDirectoryPicker.setMode(EricPathPickerModes.DIRECTORY_MODE)
70 self.condaCloneDirectoryPicker.setWindowTitle( 71 self.condaCloneDirectoryPicker.setWindowTitle(
71 self.tr("Conda Environment Location") 72 self.tr("Conda Environment Location")
72 ) 73 )
73 self.condaCloneDirectoryPicker.setDefaultDirectory(Utilities.getHomeDir()) 74 self.condaCloneDirectoryPicker.setDefaultDirectory(OSUtilities.getHomeDir())
74 75
75 self.condaRequirementsFilePicker.setMode(EricPathPickerModes.OPEN_FILE_MODE) 76 self.condaRequirementsFilePicker.setMode(EricPathPickerModes.OPEN_FILE_MODE)
76 self.condaRequirementsFilePicker.setWindowTitle( 77 self.condaRequirementsFilePicker.setWindowTitle(
77 self.tr("Conda Requirements File") 78 self.tr("Conda Requirements File")
78 ) 79 )
79 self.condaRequirementsFilePicker.setDefaultDirectory(Utilities.getHomeDir()) 80 self.condaRequirementsFilePicker.setDefaultDirectory(OSUtilities.getHomeDir())
80 self.condaRequirementsFilePicker.setFilters( 81 self.condaRequirementsFilePicker.setFilters(
81 self.tr("Text Files (*.txt);;All Files (*)") 82 self.tr("Text Files (*.txt);;All Files (*)")
82 ) 83 )
83 84
84 self.__versionRe = re.compile(r""".*?(\d+\.\d+\.\d+).*""") 85 self.__versionRe = re.compile(r""".*?(\d+\.\d+\.\d+).*""")
321 calls.append( 322 calls.append(
322 (self.pythonExecPicker.text(), ["-m", "virtualenv", "--version"]) 323 (self.pythonExecPicker.text(), ["-m", "virtualenv", "--version"])
323 ) 324 )
324 calls.extend( 325 calls.extend(
325 [ 326 [
326 (Globals.getPythonExecutable(), ["-m", "virtualenv", "--version"]), 327 (
328 PythonUtilities.getPythonExecutable(),
329 ["-m", "virtualenv", "--version"],
330 ),
327 ("virtualenv", ["--version"]), 331 ("virtualenv", ["--version"]),
328 ] 332 ]
329 ) 333 )
330 334
331 proc = QProcess() 335 proc = QProcess()
377 calls = [] 381 calls = []
378 if self.pythonExecPicker.text(): 382 if self.pythonExecPicker.text():
379 calls.append((self.pythonExecPicker.text(), ["-m", "venv"])) 383 calls.append((self.pythonExecPicker.text(), ["-m", "venv"]))
380 calls.extend( 384 calls.extend(
381 [ 385 [
382 (Globals.getPythonExecutable(), ["-m", "venv"]), 386 (PythonUtilities.getPythonExecutable(), ["-m", "venv"]),
383 ("python3", ["-m", "venv"]), 387 ("python3", ["-m", "venv"]),
384 ("python", ["-m", "venv"]), 388 ("python", ["-m", "venv"]),
385 ] 389 ]
386 ) 390 )
387 391
444 Private method to generate a valid target directory path. 448 Private method to generate a valid target directory path.
445 449
446 @return target directory path 450 @return target directory path
447 @rtype str 451 @rtype str
448 """ 452 """
449 targetDirectory = Utilities.toNativeSeparators( 453 targetDirectory = FileSystemUtilities.toNativeSeparators(
450 self.targetDirectoryPicker.text() 454 self.targetDirectoryPicker.text()
451 ) 455 )
452 if not os.path.isabs(targetDirectory): 456 if not os.path.isabs(targetDirectory):
453 targetDirectory = os.path.join(os.path.expanduser("~"), targetDirectory) 457 targetDirectory = os.path.join(os.path.expanduser("~"), targetDirectory)
454 return targetDirectory 458 return targetDirectory
486 else: 490 else:
487 if self.virtualenvButton.isChecked(): 491 if self.virtualenvButton.isChecked():
488 if self.extraSearchPathPicker.text(): 492 if self.extraSearchPathPicker.text():
489 args.append( 493 args.append(
490 "--extra-search-dir={0}".format( 494 "--extra-search-dir={0}".format(
491 Utilities.toNativeSeparators( 495 FileSystemUtilities.toNativeSeparators(
492 self.extraSearchPathPicker.text() 496 self.extraSearchPathPicker.text()
493 ) 497 )
494 ) 498 )
495 ) 499 )
496 if self.promptPrefixEdit.text(): 500 if self.promptPrefixEdit.text():
500 ) 504 )
501 ) 505 )
502 if self.pythonExecPicker.text(): 506 if self.pythonExecPicker.text():
503 args.append( 507 args.append(
504 "--python={0}".format( 508 "--python={0}".format(
505 Utilities.toNativeSeparators(self.pythonExecPicker.text()) 509 FileSystemUtilities.toNativeSeparators(
510 self.pythonExecPicker.text()
511 )
506 ) 512 )
507 ) 513 )
508 elif self.versionComboBox.currentText(): 514 elif self.versionComboBox.currentText():
509 args.append( 515 args.append(
510 "--python=python{0}".format(self.versionComboBox.currentText()) 516 "--python=python{0}".format(self.versionComboBox.currentText())
581 ), 587 ),
582 "openTarget": self.openCheckBox.isChecked(), 588 "openTarget": self.openCheckBox.isChecked(),
583 "createLog": self.logCheckBox.isChecked(), 589 "createLog": self.logCheckBox.isChecked(),
584 "createScript": self.scriptCheckBox.isChecked(), 590 "createScript": self.scriptCheckBox.isChecked(),
585 "targetDirectory": self.__generateTargetDir(), 591 "targetDirectory": self.__generateTargetDir(),
586 "pythonExe": Utilities.toNativeSeparators( 592 "pythonExe": FileSystemUtilities.toNativeSeparators(
587 self.pythonExecPicker.text() 593 self.pythonExecPicker.text()
588 ), 594 ),
589 } 595 }
590 ) 596 )
591 597

eric ide

mercurial