Glossar¶
- build¶
build
ist ein PEP 517-kompatibler Python-Paket-Builder. Er bietet eine CLI zum Erstellen von Paketen sowie eine Python-API.- Built Distribution¶
- bdist¶
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 Distribution, die einen Build-Schritt erfordern.
- cibuildwheel¶
cibuildwheel ist ein Python-Paket, das wheels für alle gängigen Plattformen und Python-Versionen auf den meisten CI-Systemen erstellt.
Siehe auch
- 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.
- distutils¶
Paket der Python-Standardbibliothek, das Unterstützung für das Bootstrapping von pip in eine bestehende Python-Installation oder virtuelle Umgebung bietet.
- 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.
- enscons¶
enscons ist ein Python-Paketierungswerkzeug, das auf SCons basiert. Es erstellt pip-kompatible Source Distributions und wheels ohne Verwendung von distutils oder setuptools, einschließlich Distributionen mit C-Erweiterungen. enscons hat eine andere Architektur und Philosophie als distutils, da es Python-Paketierung zu einem allgemeinen Build-System hinzufügt. enscons kann euch helfen, sdists und wheels zu bauen.
- Flit¶
Flit bietet eine einfache Möglichkeit, reine Python-Pakete und -Module zu erstellen und auf den Python Package Index hochzuladen. Flit kann eine Konfigurationsdatei generieren, um schnell ein Projekt einzurichten, eine Source Distribution und ein wheel zu erstellen und sie zu PyPI hochzuladen.
Flit verwendet pyproject.toml, um ein Projekt zu konfigurieren. Flit ist nicht auf Werkzeuge wie setuptools angewiesen, um Distributionen zu erstellen, oder auf twine, um sie auf PyPI hochzuladen.
- Hatch¶
Hatch ist ein Kommandozeilenwerkzeug, das ihr zum Konfigurieren und Versionieren von Paketen, zum Spezifizieren von Abhängigkeitengenutzt werden kann. Das Plugin-System ermöglicht die einfache Erweiterung der Funktionalitäten.
- hatchling¶
Build-Backend von Hatch, das auch zum Veröffentlichen auf dem Python Package Index genutzt werden kann.
- Import Package¶
Ein Python-Modul, das andere Module oder rekursiv andere Pakete enthalten kann.
- maturin¶
Vormals pyo3-pack, ist ein PEP 621-kompatibles Build-Tool für binäre Erweiterungen in Rust.
- meson-python¶
Build-Backend, das das Meson-Build-System verwendet. Es unterstützt eine Vielzahl von Sprachen, einschließlich C, und ist in der Lage, die Anforderungen der meisten komplexen Build-Konfigurationen zu erfüllen.
- 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
).
- multibuild¶
multibuild
ist ein Satz von CI-Skripten zum Erstellen und Testen von Python-wheels für Linux, macOS und Windows.Siehe auch
- pdm¶
Python-Paketmanager mit PEP 582-Unterstützung. Er installiert und verwaltet Pakete ohne dass eine virtuelle Umgebung erstellt werden muss. Er verwendet auch pyproject.toml, um Projekt-Metadaten zu speichern, wie in PEP 621 definiert.
- pex¶
Bibliothek und Werkzeug zur Erzeugung von Python EXecutable (
.pex
)-Dateien, die eigenständige Python-Umgebungen sind. .pex-Dateien sind Zip-Dateien mit#!/usr/bin/env python
und einer speziellen__main__.py
-Datei, die das Deployment von Python-Applikationen stark vereinfachen können.- pip¶
Beliebtes Werkzeug für die Installation von Python-Paketen, das in neuen Versionen von Python enthalten ist.
Es bietet die wesentlichen Kernfunktionen zum Suchen, Herunterladen und Installieren von Paketen aus dem Python Package Index und andere Python-Paketverzeichnissen und kann über eine Befehlszeilenschnittstelle (CLI) in eine Vielzahl von Entwicklungsabläufen eingebunden werden.
- pip-tools¶
Reihe von Werkzeugen, die eure Builds deterministisch halten und dennoch mit neuen Versionen eurer Abhängigkeiten auf dem Laufenden halten können.
- Pipenv¶
Pipenv bündelt Pipfile, pip und virtualenv in einer einzigen Toolchain. Es kann die
requirements.txt
automatisch importieren und mithilfe von safety die Umgebung auch auf CVEs prüfen. Schließlich erleichtert es auch die Deinstallation von Paketen und deren Abhängigkeiten.- Pipfile¶
- Pipfile.lock¶
Pipfile
undPipfile.lock
sind eine übergeordnete, anwendungsorientierte Alternative zu pip’srequirements.txt
-Datei. Die PEP 508 Environment Markers werden ebenfalls unterstützt.- pipx¶
pipx untertüzt euch, Abhängigkeitskonflikte mit anderen auf dem System installierten Paketen zu vermeiden.
- piwheels¶
Website und zugrundeliegende Software, die Source Distribution-Pakete von PyPI holt und sie in binäre wheels kompiliert, die für die Installation auf Raspberry Pis optimiert sind.
- poetry¶
Eine All-in-One-Lösung für reine Python-Projekte. Es ersetzt setuptools, venv/pipenv, pip, wheel und twine. Sie macht jedoch einige schlechte Standardannahmen für Bibliotheken und die pyproject.toml-Konfiguration ist nicht standardkonform.
- pybind11¶
Dies ist setuptools, aber mit einer C++-Erweiterung und von cibuildwheel generierten wheels.
- 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.- pyproject.toml¶
Werkzeugunabhängige Datei zur Spezifikation von Projekten, die in PEP 518 definiert ist.
Siehe auch
- Python Package Index¶
- PyPI¶
pypi.org ist der Standard-Paket-Index für die Python-Community. Alle Python-Entwickler können ihre Distributionen nutzen und verteilen.
- Python Packaging Authority¶
- PyPA¶
Die Python Packaging Authority ist eine Arbeitsgruppe, die mehrere Softwareprojekte für die Paketierung, Verteilung und Installation von Python-Bibliotheken verwaltet. Die in PyPA Goals genannten Ziele sind jedoch noch während der Diskussionen um PEP 516, PEP 517 und PEP 518 entstanden, die mit dem pyproject.toml-basierten Build-System konkurrierende Workflows erlaubten, die nicht interoperabel sein müssen.
- readme_renderer¶
readme_renderer
ist eine Bibliothek, die verwendet wird, um Dokumentation aus Auszeichnungssprachen wie Markdown oder reStructuredText in HTML zu rendern. Ihr könnt sie verwenden, um zu prüfen, ob eure Paketbeschreibungen auf PyPI korrekt angezeigt werden.- Release¶
Der Snapshot eines Projekts zu einem bestimmten Zeitpunkt, gekennzeichnet durch eine Versionskennung.
Eine Veröffentlichung kann mehrere Built Distributions zur Folge haben.
- scikit-build¶
Build-System-Generator für
C
-,C++
-,Fortran
- undCython
-Erweiterungen, der setuptools, wheel und pip integriert. Er verwendet internCMake
, um eine bessere Unterstützung für zusätzliche Compiler, Build-Systeme, Cross-Compilation und das Auffinden von Abhängigkeiten und deren zugehörigen Build-Anforderungen zu bieten. Um die Erstellung großer Projekte zu beschleunigen und zu parallelisieren, kann zusätzlich Ninja installiert werden.- setuptools¶
setuptools sind das klassische Build-System, das sehr leistungsfähig ist, aber mit steiler Lernkurve und hohem Konfigurationsaufwand. Ab Version 61.0.0 unterstützen die setuptools auch pyproject.toml-Dateien.
Siehe auch
- shiv¶
Kommandozeilenprogramm zur Erstellung von Python-Zip-Apps, wie sie in PEP 441 beschrieben sind, aber zusätzlich mit allen Abhängigkeiten.
- 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¶
Flexibler Paketmanager, der mehrere Versionen, Konfigurationen, Plattformen und Compiler unterstützt. Beliebig viele Versionen von Paketen können auf demselben System koexistieren. Spack wurde für die schnelle Erstellung von wissenschaftlichen Hochleistungsanwendungen auf Clustern und Supercomputern entwickelt.
Siehe auch
- trove-classifiers¶
trove-classifiers sind zum einen Klassifikatoren, die im Python Package Index verwendet werden, um Projekte systematisch zu beschreiben und besser auffindbar zu machen. Zum anderen sind sie ein Paket, das eine Liste gültiger und veralteter Klassifikatoren enthält, das zur Überprüfung verwendet werden kann.
- twine¶
Kommandozeilenprogramm, das Programmdateien und Metadaten an eine Web-API übergibt. Damit lassen sich Python-Pakete auf den Python Package Index hochladen.
- venv¶
Paket, das ab Python ≥ 3.3 in der Python-Standardbibliothek ist und zur Erstellung virtueller Umgebungen gedacht ist.
- virtualenv¶
Werkzeug, das die Befehlszeilen-Umgebungsvariable
path
verwendet, um isolierte virtuelle Python-Umgebungen zu erstellen, ähnlich wie venv. Es bietet jedoch zusätzliche Funktionalität für die Konfiguration, Wartung, Duplizierung und Fehlerbehebung.Ab Version 20.22.0 unterstützt virtualenv nicht mehr die Python-Versionen 2.7, 3.5 und 3.6.
- Virtuelle Umgebung¶
Eine isolierte Python-Umgebung, die die Installation von Paketen für eine bestimmte Anwendung ermöglicht, anstatt sie systemweit zu installieren.
- 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, macOS und Linux auf dem PyPI bereitgestellt werden. Dies hat für euch den Vorteil, dass ihr bei der Installation des Pakets dieses nicht kompilieren zu müssen.
Home | Docs | PEP 427 | GitHub | PyPI
Siehe auch
- whey¶
Einfacher Python-wheel-Builder mit Automatisierungsoptionen für trove-classifiers.