-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathInstallation Python3 Entwicklungsumgebung.txt
180 lines (133 loc) · 8.83 KB
/
Installation Python3 Entwicklungsumgebung.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
Installation Python3 Entwicklungsumgebung.txt
div. Notizen und kurze Wegleitung für steinigen Weg der Entwicklung in Python...
Stefan Braun / [email protected]
[Warnung: Text ist "work in progress"]
==>to do: sobald Weg gefunden ist, diesen sauber dokumentieren!!!
(Entwicklersystem: Win10 Pro x64)
=>jedoch Anwendungen sollen auch auf Win7 32Bit laufen,
darum Python 3 x32 (Anaconda3) als Root-Anaconda-Environment
1) Installation Anaconda:
https://www.anaconda.com/download/
=>Installation "all users"
=>Zu Beachten: Pfad ohne Leerzeichen: https://docs.anaconda.com/anaconda/faq#in-what-folder-should-i-install-anaconda-on-windows
==>gewählt: C:\Anaconda3
=>Installation ohne "Microsoft VSCode".
2) ev: GitHub Desktop installieren
https://desktop.github.com/
https://central.github.com/deployments/desktop/desktop/latest/win32
3) Git for Windows installieren
(gemäss https://github.com/desktop/desktop/issues/3801
können so externe Programme wie z.B. PyCharm Git-Funktionalität nutzen)
https://gitforwindows.org/
=>bei Installation: Notepad++ als Git-Standard-Editor konfigurieren.
4) PyCharm installieren
PyCharm Community Version wählen
https://www.jetbrains.com/pycharm/download/#section=windows
=>Desktop-Link "64-bit launcher"
=>.py File Association erstellen
=>"Download and install JRE x86 by JetBrains" (irgendwo stand diese Empfehlung...)
5) ev: Test der Installation:
-bei Start von PyCharm "Check out from Version Control"
=>Git wählen, https://github.com/stefanbraun-private/pyVisiToolkit.git
-via Startmenü "Anaconda-Navigator" starten
prüfen, welche Environments vorhanden sind
6) Beispiel: neues Projekt "visitoolkit_eventsystem",
als Teil eines grösseren Projektes
=>damit möglichst keine Probleme und Verwechslungen auftauchen:
-auf PyPI prüfen ob Projektname einmalig ist
-aus Markenschutzgründen im Internet nach Namensgleichheit suchen
-beabsichtigte Konsistenz: Python-Package-Name == Projektname in Pycharm == Projektname auf PyPI
==>LEIDER hat man folgende Unschönheit/Einschränkung:
-Python-Package-Name: darf keine Bindestriche enthalten, wird als Subtraktion geparst und ergibt somit Syntax-Error beim Import...
-Projektname auf PyPI: alle Sonderzeichen und Unterstriche werden durch Bindestriche ersetzt
-um Wortkombinationen lesbar zu machen und möglichst den Python-Richtlinien zu folgen,
muss somit alles klein geschrieben und mit Unterstrichen getrennt sein.
=>damit PyPI-Package problemlos importiert werden kann: Unterschied beachten!!!
PyPI-Projekt: 'visitoolkit-eventsystem' // Python-Package: 'visitoolkit_eventsystem'
(nach vielen erfolglosen Versuchen wundert es mich, dass diese Fehlerquelle kaum irgendwo erwähnt wird...!)
http://pybuilder.github.io/documentation/external_plugins.html#Pluginnaming
https://mail.python.org/pipermail/distutils-sig/2011-August/017936.html
-via Startmenü "Anaconda-Navigator" starten
neues Environment "visitoolkit_eventsystem" (Python 3.x) erstellen
-alle Pakete aktualisieren,
zudem "twine" und "docutils" installieren
-falls Community-Pakete von Anaconda zur Verfügung stehen sollen:
"Channels" -> "conda-forge" hinzufügen, "update channels" ausführen
==>Hinweis: eigentlich müsste im Hintergrund dasselbe passieren,
wenn in "Pycharm" ein neues Conda-Environment erzeugt wird.
Für exakte Duplizierung der Entwicklungsumgebung die Version aller genutzten Conda-Packages erfassen:
(gemäss https://datascience.stackexchange.com/questions/24093/how-to-clone-python-working-environment-on-another-machine)
-"Anaconda Prompt" starten
-conda Environment aktivieren: "activate visitoolkit_eventsystem"
"cd C:\Users\Asenta\PycharmProjects\visitoolkit_eventsystem"
"conda env export > environment.yml" erzeugt Datei "environment.yml"
=>Wiederherstellung klappe dann folgendermassen: "conda env create -f environment.yml" // dies habe ich noch nicht ausprobiert...
-"Pycharm" starten, "create new "project",
Name/Ablageort normalerweise im Benutzerverzeichnis: "C:\Users\Asenta\PycharmProjects\visitoolkit_eventsystem"
das existierende "Conda" Environment "visitoolkit_eventsystem" auswählen
(falls nicht aufgelistet: "C:\Anaconda3\envs\visitoolkit_eventsystem\python.exe" auswählen,
Option "Make available to all projects" nicht aktivieren)
-"Pycharm" -> New Python package: "visitoolkit_eventsystem" ->ergibt Unterordner im Python-Projektordner
"eventsystem.py" in diesen Unterordner kopieren oder in "Pycharm" erstellen
7) Veröffentlichung Projekt:
Vorbereitung: ev. folgende Dateien überarbeiten:
.gitignore // Unterordner ".idea" schliesse ich nicht aus git aus, vielleicht nützt es mal in Zukunft, wenn komplette Umgebung neu installiert werden muss
CHANGES.txt
LICENSE.txt
MANIFEST.in // Inhalt ist mir nicht mehr ganz klar... :-/
README.md // in "Pycharm" gibts guten "MarkDown"-Editor! Die gerenderte Ausgabe wird auf GitHub Projektwebseite veröffentlicht
setup.py // Grundgerüst kann in "Pycharm" -> "Tools" generiert werden / diverse Erkenntnisse müssen von Hand eingepflegt werden!
in PyCharm:
->Einstellungen ->VCS GitHub Account hinterlegen
->VCS ->publish on GitHub (NUR beim ersten Mal und falls es noch nicht existiert!)
->VCS ->Git ->Commit (nach jeder Code-Änderung, dies beeinflusst nur lokales Repository)
->VCS ->Git ->Push... (dies lädt die letzten Änderungen auf GitHub)
PyPI Package erstellen und veröffentlichen:
-"Pycharm" -> "Tools" -> "setup.py"-Tasks "sdist" und "bdist_wheel" ausführen
-"Anaconda Prompt" starten
-conda Environment aktivieren: "activate visitoolkit_eventsystem"
-in Projektverzeichnis wechseln: "cd C:\Users\Asenta\PycharmProjects\visitoolkit_eventsystem"
-hochladen des in ...\dist\. erzeugten Python-Installationspakets: "twine upload dist\*"
(Ziel ist defaultmässig PyPI.org, twine fragt dann nach PyPI-Benutzer/Passwort)
=>bei Fehler "HTTPError: 400 Client Error: This filename has already been used, use a different version."
löscht man am besten die alten Releases im Unterverzeichnis ...\dist
=>Paket ist dann unter https://pypi.org/project/visitoolkit_eventsystem
(HINWEIS: offenbar ersetzt PyPI den "_" mit einem "-", darum heisst das PyPI-Paket dann "visitoolkit-eventsystem"...)
==>nun müsste das Python-Package von allen Python-Entwicklern genutzt werden können,
z.B. in "Pycharm" -> "Settings" -> "Project xxx" -> "Project Interpreter"
(grünes Conda-Zeichen muss inaktiv sein, da wir auf PyPI und nicht auf Anaconda suchen)
mittels "+" nach Paket suchen oder allenfalls mittels "^" das neueste Release installieren
z.B. -"Anaconda Prompt" starten, mittels "conda" existierendes Environment aktivieren: "activate xyz"
dann z.B. "pip install visitoolkit-eventsystem"
(mittels "pip install --upgrade visitoolkit-eventsystem" bekommt man das neueste Release)
==========================================================================================================
Anhang: diverse ausführliche Notizen und Erkenntnisse nach diversen Recherchen... :-/
**************************************************************************************
=>PyPI Package erstellen:
-siehe https://the-hitchhikers-guide-to-packaging.readthedocs.io/en/latest/index.html
-PyPI-Projektbeschreibung (PyPI-Webseite des Package) kann aus existierender "README.md" generiert werden:
https://packaging.python.org/guides/making-a-pypi-friendly-readme/
(=>README-Datei für GitHub ist in MarkDown *.md formatiert, PyCharm hat internen Editor inkl. Vorschau)
in PyCharm kann mittels "Tools" direkt setup.py erstellt und "setup.py-Task" aufgerufen werden
(jedoch fehlt Paket "docutils"...
somit "Settings"->"Python Interpreter"->"use Conda" / "+" nach diesem Paket suchen und dieses installieren.
=>aktuellere Anleitung:
https://packaging.python.org/tutorials/packaging-projects/#uploading-your-project-to-pypi
(somit Paket "twine" installieren mittels PyCharm)
==>zu beachten: https://anweshadas.in/how-to-upload-a-package-in-pypi-using-twine/
==>Anleitung: https://pypi.org/project/twine/
==>Twine in Anaconda nutzen
(SO GEHT ES nachdem man die setup.py-Tasks bis "register" durchgeführt hat;
neuerdings läuft PyPI mit "Warehouse" und "register"-Kommando vor dem "upload" wird beim neuen pypi.org nicht mehr verwendet!!!):
-"Anaconda Prompt" starten
-conda Environment aktivieren: "activate pyVisiToolkit-eventsystem"
-in Projektverzeichnis wechseln: "cd C:\Users\Asenta\PycharmProjects\pyVisiToolkit-eventsystem"
-hochladen des in ...\dist\. erzeugten Python-Installationspakets: "twine upload dist\*"
(Ziel ist defaultmässig PyPI.org, twine fragt dann nach PyPI-Benutzer/Passwort)
=>Paket ist dann unter https://pypi.org/project/pyVisiToolkit-eventsystem
to do:
lesen: https://datascience.stackexchange.com/questions/24093/how-to-clone-python-working-environment-on-another-machine
lesen: http://python-packaging.readthedocs.io/en/latest/minimal.html
lesen: http://docs.python-guide.org/en/latest/writing/structure/
lesen: https://legacy.python.org/dev/peps/pep-0423/
Umstrukturieren: https://github.com/stefanbraun-private/pyVisiToolkit.git