eric7/eric7_virtualenv.py

Sun, 26 Dec 2021 18:43:48 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Sun, 26 Dec 2021 18:43:48 +0100
branch
eric7
changeset 8858
a70a980e7d4f
parent 8611
0b1a09e47e98
child 8881
54e42bc2437a
permissions
-rw-r--r--

Changed the various search related combo boxes to show an error using style sheets.

8611
0b1a09e47e98 Virtual Environments
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1 #!/usr/bin/env python3
0b1a09e47e98 Virtual Environments
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2 # -*- coding: utf-8 -*-
0b1a09e47e98 Virtual Environments
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3
0b1a09e47e98 Virtual Environments
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
4 # Copyright (c) 2021 Detlev Offenbach <detlev@die-offenbachs.de>
0b1a09e47e98 Virtual Environments
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
5 #
0b1a09e47e98 Virtual Environments
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
6
0b1a09e47e98 Virtual Environments
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
7 """
0b1a09e47e98 Virtual Environments
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
8 eric Virtual Environment Manager.
0b1a09e47e98 Virtual Environments
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
9
0b1a09e47e98 Virtual Environments
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
10 This is the main Python script to manage Python Virtual Environments from
0b1a09e47e98 Virtual Environments
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
11 outside of the IDE.
0b1a09e47e98 Virtual Environments
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
12 """
0b1a09e47e98 Virtual Environments
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
13
0b1a09e47e98 Virtual Environments
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
14 import sys
0b1a09e47e98 Virtual Environments
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
15 import os
0b1a09e47e98 Virtual Environments
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
16
0b1a09e47e98 Virtual Environments
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
17 sys.path.insert(1, os.path.dirname(__file__))
0b1a09e47e98 Virtual Environments
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
18
0b1a09e47e98 Virtual Environments
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
19 for arg in sys.argv[:]:
0b1a09e47e98 Virtual Environments
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
20 if arg.startswith("--config="):
0b1a09e47e98 Virtual Environments
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
21 import Globals
0b1a09e47e98 Virtual Environments
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
22 configDir = arg.replace("--config=", "")
0b1a09e47e98 Virtual Environments
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
23 Globals.setConfigDir(configDir)
0b1a09e47e98 Virtual Environments
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
24 sys.argv.remove(arg)
0b1a09e47e98 Virtual Environments
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
25 elif arg.startswith("--settings="):
0b1a09e47e98 Virtual Environments
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
26 from PyQt6.QtCore import QSettings
0b1a09e47e98 Virtual Environments
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
27 settingsDir = os.path.expanduser(arg.replace("--settings=", ""))
0b1a09e47e98 Virtual Environments
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
28 if not os.path.isdir(settingsDir):
0b1a09e47e98 Virtual Environments
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
29 os.makedirs(settingsDir)
0b1a09e47e98 Virtual Environments
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
30 QSettings.setPath(
0b1a09e47e98 Virtual Environments
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
31 QSettings.Format.IniFormat, QSettings.Scope.UserScope, settingsDir)
0b1a09e47e98 Virtual Environments
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
32 sys.argv.remove(arg)
0b1a09e47e98 Virtual Environments
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
33
0b1a09e47e98 Virtual Environments
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
34 from Globals import AppInfo
0b1a09e47e98 Virtual Environments
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
35
0b1a09e47e98 Virtual Environments
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
36 from Toolbox import Startup
0b1a09e47e98 Virtual Environments
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
37
0b1a09e47e98 Virtual Environments
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
38
0b1a09e47e98 Virtual Environments
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
39 def createMainWidget(argv):
0b1a09e47e98 Virtual Environments
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
40 """
0b1a09e47e98 Virtual Environments
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
41 Function to create the main widget.
0b1a09e47e98 Virtual Environments
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
42
0b1a09e47e98 Virtual Environments
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
43 @param argv list of commandline parameters
0b1a09e47e98 Virtual Environments
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
44 @type list of str
0b1a09e47e98 Virtual Environments
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
45 @return reference to the main widget
0b1a09e47e98 Virtual Environments
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
46 @rtype QWidget
0b1a09e47e98 Virtual Environments
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
47 """
0b1a09e47e98 Virtual Environments
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
48 from VirtualEnv.VirtualenvManagerWidgets import VirtualenvManagerWindow
0b1a09e47e98 Virtual Environments
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
49 return VirtualenvManagerWindow(None)
0b1a09e47e98 Virtual Environments
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
50
0b1a09e47e98 Virtual Environments
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
51
0b1a09e47e98 Virtual Environments
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
52 def main():
0b1a09e47e98 Virtual Environments
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
53 """
0b1a09e47e98 Virtual Environments
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
54 Main entry point into the application.
0b1a09e47e98 Virtual Environments
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
55 """
0b1a09e47e98 Virtual Environments
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
56 from PyQt6.QtGui import QGuiApplication
0b1a09e47e98 Virtual Environments
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
57 QGuiApplication.setDesktopFileName("eric7_virtualenv.desktop")
0b1a09e47e98 Virtual Environments
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
58
0b1a09e47e98 Virtual Environments
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
59 options = [
0b1a09e47e98 Virtual Environments
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
60 ("--config=configDir",
0b1a09e47e98 Virtual Environments
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
61 "use the given directory as the one containing the config files"),
0b1a09e47e98 Virtual Environments
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
62 ("--settings=settingsDir",
0b1a09e47e98 Virtual Environments
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
63 "use the given directory to store the settings files"),
0b1a09e47e98 Virtual Environments
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
64 ]
0b1a09e47e98 Virtual Environments
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
65 appinfo = AppInfo.makeAppInfo(
0b1a09e47e98 Virtual Environments
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
66 sys.argv,
0b1a09e47e98 Virtual Environments
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
67 "eric Virtualenv Manager",
0b1a09e47e98 Virtual Environments
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
68 "",
0b1a09e47e98 Virtual Environments
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
69 "Utility to manage Python Virtual Environments.",
0b1a09e47e98 Virtual Environments
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
70 options
0b1a09e47e98 Virtual Environments
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
71 )
0b1a09e47e98 Virtual Environments
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
72 res = Startup.simpleAppStartup(
0b1a09e47e98 Virtual Environments
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
73 sys.argv, appinfo, createMainWidget)
0b1a09e47e98 Virtual Environments
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
74 sys.exit(res)
0b1a09e47e98 Virtual Environments
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
75
0b1a09e47e98 Virtual Environments
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
76 if __name__ == '__main__':
0b1a09e47e98 Virtual Environments
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
77 main()

eric ide

mercurial