Tue, 31 May 2022 09:59:42 +0200
Syntax Checker
- changed the TOML syntax checker to use 'tomlkit' because 'toml' is no longer maintained
8988
ffa38e0415df
Added a script to install all of eric's dependencies.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1 | #!/usr/bin/env python3 |
ffa38e0415df
Added a script to install all of eric's dependencies.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2 | # -*- coding: utf-8 -*- |
ffa38e0415df
Added a script to install all of eric's dependencies.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
3 | |
ffa38e0415df
Added a script to install all of eric's dependencies.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
4 | # Copyright (c) 2022 Detlev Offenbach <detlev@die-offenbachs.de> |
ffa38e0415df
Added a script to install all of eric's dependencies.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
5 | # |
ffa38e0415df
Added a script to install all of eric's dependencies.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
6 | # This script installs all packages eric depends on. |
ffa38e0415df
Added a script to install all of eric's dependencies.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
7 | |
ffa38e0415df
Added a script to install all of eric's dependencies.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
8 | """ |
ffa38e0415df
Added a script to install all of eric's dependencies.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
9 | Installation script for the eric IDE dependencies. |
ffa38e0415df
Added a script to install all of eric's dependencies.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
10 | """ |
ffa38e0415df
Added a script to install all of eric's dependencies.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
11 | |
ffa38e0415df
Added a script to install all of eric's dependencies.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
12 | import subprocess |
ffa38e0415df
Added a script to install all of eric's dependencies.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
13 | import sys |
ffa38e0415df
Added a script to install all of eric's dependencies.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
14 | |
ffa38e0415df
Added a script to install all of eric's dependencies.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
15 | |
ffa38e0415df
Added a script to install all of eric's dependencies.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
16 | def pipInstall(packageName): |
ffa38e0415df
Added a script to install all of eric's dependencies.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
17 | """ |
ffa38e0415df
Added a script to install all of eric's dependencies.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
18 | Install the given package via pip. |
ffa38e0415df
Added a script to install all of eric's dependencies.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
19 | |
ffa38e0415df
Added a script to install all of eric's dependencies.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
20 | @param packageName name of the package to be installed |
ffa38e0415df
Added a script to install all of eric's dependencies.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
21 | @type str |
ffa38e0415df
Added a script to install all of eric's dependencies.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
22 | @return flag indicating a successful installation |
ffa38e0415df
Added a script to install all of eric's dependencies.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
23 | @rtype bool |
ffa38e0415df
Added a script to install all of eric's dependencies.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
24 | """ |
ffa38e0415df
Added a script to install all of eric's dependencies.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
25 | ok = False |
ffa38e0415df
Added a script to install all of eric's dependencies.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
26 | exitCode = subprocess.run( # secok |
ffa38e0415df
Added a script to install all of eric's dependencies.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
27 | [sys.executable, "-m", "pip", "install", "--prefer-binary", |
ffa38e0415df
Added a script to install all of eric's dependencies.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
28 | "--upgrade", packageName] |
ffa38e0415df
Added a script to install all of eric's dependencies.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
29 | ).returncode |
ffa38e0415df
Added a script to install all of eric's dependencies.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
30 | ok = (exitCode == 0) |
ffa38e0415df
Added a script to install all of eric's dependencies.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
31 | |
ffa38e0415df
Added a script to install all of eric's dependencies.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
32 | return ok |
ffa38e0415df
Added a script to install all of eric's dependencies.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
33 | |
ffa38e0415df
Added a script to install all of eric's dependencies.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
34 | |
ffa38e0415df
Added a script to install all of eric's dependencies.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
35 | def main(): |
ffa38e0415df
Added a script to install all of eric's dependencies.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
36 | """ |
ffa38e0415df
Added a script to install all of eric's dependencies.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
37 | Function to install the eric dependencies. |
ffa38e0415df
Added a script to install all of eric's dependencies.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
38 | """ |
ffa38e0415df
Added a script to install all of eric's dependencies.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
39 | packages = ( |
ffa38e0415df
Added a script to install all of eric's dependencies.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
40 | "pyqt6", |
ffa38e0415df
Added a script to install all of eric's dependencies.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
41 | "pyqt6-charts", |
ffa38e0415df
Added a script to install all of eric's dependencies.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
42 | "pyqt6-webengine", |
ffa38e0415df
Added a script to install all of eric's dependencies.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
43 | "pyqt6-qscintilla", |
ffa38e0415df
Added a script to install all of eric's dependencies.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
44 | |
ffa38e0415df
Added a script to install all of eric's dependencies.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
45 | "docutils", |
ffa38e0415df
Added a script to install all of eric's dependencies.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
46 | "Markdown", |
ffa38e0415df
Added a script to install all of eric's dependencies.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
47 | "pyyaml", |
9107
8e9525a780ae
Syntax Checker
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9016
diff
changeset
|
48 | "tomlkit", |
8988
ffa38e0415df
Added a script to install all of eric's dependencies.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
49 | "chardet", |
ffa38e0415df
Added a script to install all of eric's dependencies.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
50 | "asttokens", |
ffa38e0415df
Added a script to install all of eric's dependencies.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
51 | "EditorConfig", |
ffa38e0415df
Added a script to install all of eric's dependencies.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
52 | "Send2Trash", |
ffa38e0415df
Added a script to install all of eric's dependencies.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
53 | "Pygments", |
ffa38e0415df
Added a script to install all of eric's dependencies.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
54 | "pyenchant", |
ffa38e0415df
Added a script to install all of eric's dependencies.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
55 | "wheel", |
ffa38e0415df
Added a script to install all of eric's dependencies.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
56 | "parso", |
ffa38e0415df
Added a script to install all of eric's dependencies.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
57 | "jedi", |
ffa38e0415df
Added a script to install all of eric's dependencies.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
58 | "packaging", |
9016
6f079c524e99
Changed occurrences of sys.executable with a method to get rid of the "w" on Windows and macOS systems (i.e. change pythonw to python).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8988
diff
changeset
|
59 | "pipdeptree", |
8988
ffa38e0415df
Added a script to install all of eric's dependencies.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
60 | ) |
ffa38e0415df
Added a script to install all of eric's dependencies.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
61 | |
ffa38e0415df
Added a script to install all of eric's dependencies.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
62 | failedPackages = [] |
ffa38e0415df
Added a script to install all of eric's dependencies.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
63 | for package in packages: |
ffa38e0415df
Added a script to install all of eric's dependencies.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
64 | ok = pipInstall(package) |
ffa38e0415df
Added a script to install all of eric's dependencies.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
65 | if not ok: |
ffa38e0415df
Added a script to install all of eric's dependencies.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
66 | failedPackages.append(package) |
ffa38e0415df
Added a script to install all of eric's dependencies.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
67 | |
ffa38e0415df
Added a script to install all of eric's dependencies.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
68 | print() |
ffa38e0415df
Added a script to install all of eric's dependencies.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
69 | print("Installation Summary") |
ffa38e0415df
Added a script to install all of eric's dependencies.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
70 | print("--------------------") |
ffa38e0415df
Added a script to install all of eric's dependencies.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
71 | if failedPackages: |
ffa38e0415df
Added a script to install all of eric's dependencies.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
72 | print("These packages could not be installed:") |
ffa38e0415df
Added a script to install all of eric's dependencies.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
73 | for package in failedPackages: |
ffa38e0415df
Added a script to install all of eric's dependencies.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
74 | print(" " + package) |
ffa38e0415df
Added a script to install all of eric's dependencies.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
75 | else: |
ffa38e0415df
Added a script to install all of eric's dependencies.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
76 | print("All packages installed successfully.") |
ffa38e0415df
Added a script to install all of eric's dependencies.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
77 | |
ffa38e0415df
Added a script to install all of eric's dependencies.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
78 | if __name__ == "__main__": |
ffa38e0415df
Added a script to install all of eric's dependencies.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
79 | main() |
ffa38e0415df
Added a script to install all of eric's dependencies.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
80 | |
ffa38e0415df
Added a script to install all of eric's dependencies.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
81 | # |
ffa38e0415df
Added a script to install all of eric's dependencies.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
82 | # eflag: noqa = M801 |