src/eric7/eric7_virtualenv.py

Wed, 13 Jul 2022 14:55:47 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Wed, 13 Jul 2022 14:55:47 +0200
branch
eric7
changeset 9221
bf71ee032bb4
parent 9209
b99e7fd55fd3
child 9413
80c06d472826
permissions
-rw-r--r--

Reformatted the source code using the 'Black' utility.

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
8881
54e42bc2437a Updated copyright for 2022.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8611
diff changeset
4 # Copyright (c) 2021 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
8611
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
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
22
8611
0b1a09e47e98 Virtual Environments
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
23 configDir = arg.replace("--config=", "")
0b1a09e47e98 Virtual Environments
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
24 Globals.setConfigDir(configDir)
0b1a09e47e98 Virtual Environments
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
25 sys.argv.remove(arg)
0b1a09e47e98 Virtual Environments
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
26 elif arg.startswith("--settings="):
0b1a09e47e98 Virtual Environments
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
27 from PyQt6.QtCore import QSettings
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
28
8611
0b1a09e47e98 Virtual Environments
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
29 settingsDir = os.path.expanduser(arg.replace("--settings=", ""))
0b1a09e47e98 Virtual Environments
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
30 if not os.path.isdir(settingsDir):
0b1a09e47e98 Virtual Environments
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
31 os.makedirs(settingsDir)
0b1a09e47e98 Virtual Environments
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
32 QSettings.setPath(
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
33 QSettings.Format.IniFormat, QSettings.Scope.UserScope, settingsDir
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
34 )
8611
0b1a09e47e98 Virtual Environments
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
35 sys.argv.remove(arg)
0b1a09e47e98 Virtual Environments
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
36
0b1a09e47e98 Virtual Environments
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
37 from Globals import AppInfo
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 from Toolbox import Startup
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
0b1a09e47e98 Virtual Environments
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
42 def createMainWidget(argv):
0b1a09e47e98 Virtual Environments
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
43 """
0b1a09e47e98 Virtual Environments
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
44 Function to create the main widget.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
45
8611
0b1a09e47e98 Virtual Environments
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
46 @param argv list of commandline parameters
0b1a09e47e98 Virtual Environments
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
47 @type list of str
0b1a09e47e98 Virtual Environments
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
48 @return reference to the main widget
0b1a09e47e98 Virtual Environments
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
49 @rtype QWidget
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 from VirtualEnv.VirtualenvManagerWidgets import VirtualenvManagerWindow
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
52
8611
0b1a09e47e98 Virtual Environments
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
53 return VirtualenvManagerWindow(None)
0b1a09e47e98 Virtual Environments
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
54
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 def main():
0b1a09e47e98 Virtual Environments
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
57 """
0b1a09e47e98 Virtual Environments
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
58 Main entry point into the application.
0b1a09e47e98 Virtual Environments
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
59 """
0b1a09e47e98 Virtual Environments
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
60 from PyQt6.QtGui import QGuiApplication
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
61
8611
0b1a09e47e98 Virtual Environments
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
62 QGuiApplication.setDesktopFileName("eric7_virtualenv.desktop")
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
63
8611
0b1a09e47e98 Virtual Environments
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
64 options = [
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
65 (
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
66 "--config=configDir",
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
67 "use the given directory as the one containing the config files",
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
68 ),
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
69 (
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
70 "--settings=settingsDir",
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
71 "use the given directory to store the settings files",
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
72 ),
8611
0b1a09e47e98 Virtual Environments
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
73 ]
0b1a09e47e98 Virtual Environments
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
74 appinfo = AppInfo.makeAppInfo(
0b1a09e47e98 Virtual Environments
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
75 sys.argv,
0b1a09e47e98 Virtual Environments
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
76 "eric Virtualenv Manager",
0b1a09e47e98 Virtual Environments
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
77 "",
0b1a09e47e98 Virtual Environments
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
78 "Utility to manage Python Virtual Environments.",
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
79 options,
8611
0b1a09e47e98 Virtual Environments
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
80 )
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
81 res = Startup.simpleAppStartup(sys.argv, appinfo, createMainWidget)
8611
0b1a09e47e98 Virtual Environments
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
82 sys.exit(res)
0b1a09e47e98 Virtual Environments
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
83
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
84
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
85 if __name__ == "__main__":
8611
0b1a09e47e98 Virtual Environments
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
86 main()

eric ide

mercurial