Glossar#

Built Distribution#

Eine Struktur aus Dateien und Metadaten, die bei der Installation nur an den richtigen Speicherort auf dem Zielsystem verschoben werden müssen. Wheel ist ein solches Format, nicht jedoch distutil’s Source Distributions, die einen Build-Schritt erfordern.

conda#

Paketmanagement-Tool für die Anaconda-Distribution von Continuum Analytics. Sie ist speziell auf die wissenschaftliche Gemeinschaft ausgerichtet, insbesondere auf Windows, wo die Installation von binären Erweiterungen oft schwierig ist.

Conda installiert keine Pakete von PyPI und kann nur von den offiziellen Continuum-Repositories oder von anaconda.org oder lokalen (z.B. Intranet-) Paketservern installieren. Beachtet jedoch, dass Pip in conda installiert werden und Seite an Seite arbeiten kann, um Distributionen von PyPI zu verwalten.

devpi#

devpi ist ein leistungsstarker PyPI-kompatibler Server und ein PyPI-Proxy-Cache mit einem Befehlszeilenwerkzeug um Paketierungs-, Test- und Veröffentlichungsaktivitäten zu ermöglichen.

Distribution Package#

Eine versionierte Archivdatei, die Python-Pakete, -Module und andere Ressourcendateien enthält, die zum Verteilen eines Releases verwendet werden.

Egg#

Ein Built Distribution-Format, das von Setuptools eingeführt wurde und nun durch Wheel ersetzt wird. Weitere Informationen findet ihr unter The Internal Structure of Python Eggs und Python Eggs.

Import Package#

Ein Python-Modul, das andere Module oder rekursiv andere Pakete enthalten kann.

Modul#

Die Grundeinheit der Wiederverwendbarkeit von Code in Python, die in einem von zwei Typen existiert:

Pure Module

Ein Modul, das in Python geschrieben wurde und in einer einzigen .py-Datei enthalten ist (und möglicherweise zugehörigen .pyc- und/oder .pyo-Dateien).

Extension Module

In der Regel in eine einzelne dynamisch ladbare vorkompilierte Datei, z. B. einer gemeinsamen Objektdatei (.so).

pip#

Ein Tool zum Installieren von Python-Paketen.

Docs | GitHub | PyPI |

Pipfile#

Anwendungsfreundliche, auf TOML basierende Alternative zur requirements.txt-Datei von pip.

Dabei kann unterschieden werden zwischen zwei verschiedenen Gruppen von Paketen: [packages] und [dev-packages].

GitHub

Pipfile.lock#

Maschinenlesbare Datei auf Basis von JSON, die alle transitiven Abhängigkeiten mit deren exakten Versionen und Download-Hashes enthält.

Auch Pipfile.lock unterscheidet zwischen [packages] und [dev-packages].

Pipenv#

Pipenv ist ein Projekt, das darauf abzielt, die beste aller Verpackungswelten in die Python-Welt zu bringen. Es vereint pipfile, pip und virtualenv in einer einzigen Toolchain.

Docs | GitHub | PyPI |

pypi.org#

pypi.org ist der Domainname für den Python Package Index (PyPI). Er löste 2017 den alten Index-Domain-Namen pypi.python.org ab. Er wird von warehouse unterstützt.

Python Package Index (PyPI)#

PyPI ist der Standard-Paket-Index für die Python-Community. Alle Python-Entwickler können ihre Distributionen nutzen und verteilen.

Release#

Der Snapshot eines Projekts zu einem bestimmten Zeitpunkt, gekennzeichnet durch eine Versionskennung.

Eine Veröffentlichung kann mehrere Built Distributions zur Folge haben.

setuptools#

setuptools (und easy_install) ist eine Sammlung von Verbesserungen der Python-Distutils, mit denen ihr Python-Distributionen einfacher erstellen und verteilen könnt, insbesondere solche, die Abhängigkeiten von anderen Paketen haben.

Source Distribution (sdist)#

Ein Verteilungsformat (das normalerweise mithilfe von python setup.py sdist generiert wird).

Es stellt Metadaten und die wesentlichen Quelldateien bereit, die für die Installation mit einem Tool wie Pip oder zum Generieren von Built Distributions benötigt werden.

Spack#

Ein flexibler Paketmanager, der mehrere Versionen, Konfigurationen, Plattformen und Compiler unterstützt. Spack ist ähnlich wie der Nix-Paketmanager, ermöglicht jedoch die Definition virtueller Abhängigkeiten und bietet eine Syntax zur Parametrisierung. Die Pakete sind in Python geschrieben, um einen einfachen Austausch von Compilern, Bibliotheksversionen, Build-Optionen usw. zu ermöglichen. Es können beliebig viele Versionen von Paketen gleichzeitig auf demselben System existieren. Spack wurde für den raschen Aufbau wissenschaftlicher Anwendungen auf Clustern und Supercomputern entwickelt.

Docs | GitHub | Slides | The Spack package manager: bringing order to HPC software chaos |

Virtuelle Umgebung#

Eine isolierte Python-Umgebung, die die Installation von Paketen für eine bestimmte Anwendung ermöglicht, anstatt sie systemweit zu installieren.

Docs | Creating Virtual Environments |

Warehouse#

Die aktuelle Codebasis, die den Python Package Index (PyPI) antreibt. Sie wird auf pypi.org gehostet.

Wheel#

Distributionsformat, das mit PEP 427 eingeführt wurde. Es soll das Egg-Format ersetzen und wird von aktuellen Pip-Installationen unterstützt.

C-Erweiterungen können als plattformspezifische Wheels für Windows, Mac OS und Linux auf PyPI bereitgestellt werden. Dies hat für die Benutzer des Pakets den Vorteil, bei der Installation nicht kompilieren zu müssen.

Home | Docs | PEP | GitHub | PyPI |