Python: Unterschied zwischen den Versionen
Dirk (Diskussion | Beiträge) K code → ic |
Dirk (Diskussion | Beiträge) K Verschiebung community -> extra |
||
(Eine dazwischenliegende Version desselben Benutzers wird nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
Python ist eine multiparadigmatische, interpretierte, höhere Programmiersprache, die neben der einfachen Erlernbarkeit einen großen Schwerpunkt in der guten Lesbarkeit der Programme setzt. | Python ist eine multiparadigmatische, interpretierte, höhere Programmiersprache, die neben der einfachen Erlernbarkeit einen großen Schwerpunkt in der guten Lesbarkeit der Programme setzt. | ||
{{installation|name=Python 3|repo=core|paket=python}} | |||
Nach der Installation ist die interaktive Shell über {{ic|python}} zu starten, und der Interpreter befindet sich in {{ic|/usr/bin/python}}. | |||
Python 2 wurde im September 2022 aus den offiziellen Repositorien entfernt, da es inzwischen nicht mehr supportet wird und auch keinerlei Updates oder Sicherheitspatches erhält. Sofern notwendig, kann man {{AUR|python2}} aber noch aus dem AUR installieren. | |||
== Besonderheiten == | == Besonderheiten bezüglich Python 2 == | ||
Aufgrund der Tatsache, dass Python 3 teilweise nicht mehr zu älteren Versionen von Python kompatibel ist, kann es notwendig sein, beide Versionen parallel zu betreiben. Dies ist problemlos möglich, da {{ic|python2}} unter diesem Namen eine eigenständige Installation ist, und {{ic|python}} (3.x) nicht beeinflusst. | Aufgrund der Tatsache, dass Python 3 teilweise nicht mehr zu älteren Versionen von Python kompatibel ist, kann es notwendig sein, beide Versionen parallel zu betreiben. Dies ist problemlos möglich, da {{ic|python2}} unter diesem Namen eine eigenständige Installation ist, und {{ic|python}} (3.x) nicht beeinflusst. | ||
Wenn man eigene Programme entwickelt, sollte man nach Möglichkeit Python 3.x verwenden, und nur, wenn man spezielle Funktionen oder Module von Python 2.x nutzen muss, auf Python 2.x zurückfallen. | Wenn man eigene Programme entwickelt, sollte man nach Möglichkeit Python 3.x verwenden, und nur, wenn man spezielle Funktionen oder Module von Python 2.x nutzen muss, auf Python 2.x zurückfallen. | ||
Der Umstand, dass unter Arch Python | Der Umstand, dass unter Arch Python 2 als {{ic|/usr/bin/python2}}, und nicht als {{ic|/usr/bin/python}} vorhanden ist, kann dafür sorgen, dass Arch-fremde Scripte, oder Programme nicht funktionieren. In einem solchen Fall müssen sie explizit mit der richtigen Python-Version aufgerufen werden ({{ic|python2 script.py}} oder {{ic|python script.py}}), oder das Shebang in der Datei angepasst werden ({{ic|#!/usr/bin/python3}} wird zu {{ic|#!/usr/bin/python}}, oder {{ic|#!/usr/bin/python}} wird zu {{ic|#!/usr/bin/python2}}). | ||
=== Python-Version abfragen === | === Python-Version abfragen === | ||
Zeile 32: | Zeile 30: | ||
Neben der standardmäßig vorhandenen Implementierung ''CPython'' gibt es noch einige weitere Implementierungen. | Neben der standardmäßig vorhandenen Implementierung ''CPython'' gibt es noch einige weitere Implementierungen. | ||
* '''PyPy''': Ein in Python geschriebener Python-Interpreter – {{ic| | * '''PyPy''': Ein in Python geschriebener Python-Interpreter – {{ic|extra/pypy}} | ||
* '''Parrot''': Virtuelle Maschine für Programmiersprachen – {{ic| | * '''Parrot''': Virtuelle Maschine für Programmiersprachen – {{ic|extra/parrot}} | ||
* '''Jython''': In Java für die JVM geschriebene Implementation – {{ic| | * '''Jython''': In Java für die JVM geschriebene Implementation – {{ic|extra/jython}} | ||
* '''IronPython''': Implementation für die .NET-Entwicklungsumgebung – {{ic|aur/ironpython-git}} | * '''IronPython''': Implementation für die .NET-Entwicklungsumgebung – {{ic|aur/ironpython-git}} | ||
* '''Stackless''': Experimentelle Implementation, die nicht den Prozessor-Stack nutzt – {{ic|aur/stackless-python}} | * '''Stackless''': Experimentelle Implementation, die nicht den Prozessor-Stack nutzt – {{ic|aur/stackless-python}} |
Aktuelle Version vom 24. Mai 2023, 18:10 Uhr
Python ist eine multiparadigmatische, interpretierte, höhere Programmiersprache, die neben der einfachen Erlernbarkeit einen großen Schwerpunkt in der guten Lesbarkeit der Programme setzt.
Installation
Python 3 ist als
python
in core
verfügbar, und kann von dort
mittels Pacman
installiert werden.
Nach der Installation ist die interaktive Shell über python
zu starten, und der Interpreter befindet sich in /usr/bin/python
.
Python 2 wurde im September 2022 aus den offiziellen Repositorien entfernt, da es inzwischen nicht mehr supportet wird und auch keinerlei Updates oder Sicherheitspatches erhält. Sofern notwendig, kann man python2AUR aber noch aus dem AUR installieren.
Besonderheiten bezüglich Python 2
Aufgrund der Tatsache, dass Python 3 teilweise nicht mehr zu älteren Versionen von Python kompatibel ist, kann es notwendig sein, beide Versionen parallel zu betreiben. Dies ist problemlos möglich, da python2
unter diesem Namen eine eigenständige Installation ist, und python
(3.x) nicht beeinflusst.
Wenn man eigene Programme entwickelt, sollte man nach Möglichkeit Python 3.x verwenden, und nur, wenn man spezielle Funktionen oder Module von Python 2.x nutzen muss, auf Python 2.x zurückfallen.
Der Umstand, dass unter Arch Python 2 als /usr/bin/python2
, und nicht als /usr/bin/python
vorhanden ist, kann dafür sorgen, dass Arch-fremde Scripte, oder Programme nicht funktionieren. In einem solchen Fall müssen sie explizit mit der richtigen Python-Version aufgerufen werden (python2 script.py
oder python script.py
), oder das Shebang in der Datei angepasst werden (#!/usr/bin/python3
wird zu #!/usr/bin/python
, oder #!/usr/bin/python
wird zu #!/usr/bin/python2
).
Python-Version abfragen
Ein einfacher Weg, die aktuelle Python-Version in eigenen Programmen abzufragen und entsprechend zu reagieren ist folgender Code-Schnipsel.
import sys if not sys.version_info >= (3,3,0): print('Bitte mindestens Python 3.3 verwenden!')
Dies Prüft auf Python 3.3.0 (oder neuer). Hier kann auch etwas allgemeiner (3,0)
angegeben werden, um generell Python 3 zu erfordern. Mittels des Vergleichsoperators (hier >=
) kann zudem bestimmt werden, welche Bedingung erfüllt sein muss. Wenn exakt eine Version genutzt werden soll, kann als Operand (3,3,0,'final',0)
verwendet werden. Dies ist allerdings nicht empfehlenswert, im Regelfall reicht >= (3,0)
aus.
Anstelle des print()
könnte man hier nun weitergehen, und die genaue Version abfragen, und je nach Version entweder eine Exception
generieren, oder Parameter verändern, so dass das Programm Dinge anders ausführt. Es empfiehlt sich, dies möglichst früh im Programmablauf einzubauen.
Weitere Implementierungen
Neben der standardmäßig vorhandenen Implementierung CPython gibt es noch einige weitere Implementierungen.
- PyPy: Ein in Python geschriebener Python-Interpreter –
extra/pypy
- Parrot: Virtuelle Maschine für Programmiersprachen –
extra/parrot
- Jython: In Java für die JVM geschriebene Implementation –
extra/jython
- IronPython: Implementation für die .NET-Entwicklungsumgebung –
aur/ironpython-git
- Stackless: Experimentelle Implementation, die nicht den Prozessor-Stack nutzt –
aur/stackless-python
Des Weiteren ist es auch möglich, Python als Interpreter für Webseiten zu verwenden. Der Artikel lighttpd wartet hierzu mit einem entsprechenden Einrichtungsbeispiel auf.