


Kann CMake in setuptools verwendet werden, um Python-Erweiterungs-Builds zu optimieren?
Oct 27, 2024 am 07:36 AMSetuptools-Erweiterung erweitern, um CMake in setup.py zu verwenden?
Beim Erstellen von Python-Erweiterungen, die mit C-Bibliotheken verknüpft sind, bietet CMake mehr Kontrolle über den Build-Prozess. Während das Bündeln dieser Erweiterungen derzeit einen separaten Kompilierungsschritt erfordert, bevor setup.py bdist_wheel ausgeführt wird, gibt es möglicherweise eine effizientere Lösung.
Kann CMake in setup.py integriert werden?"
Um CMake in setup.py zu integrieren und den Build-Prozess für Python-Erweiterungen zu automatisieren, beachten Sie die folgenden Schritte:
- Überschreiben Sie die Befehlsklasse build_ext: Unterklassifizieren Sie den Befehl build_ext und Registrieren Sie es in den Befehlsklassen des setup.py-Skripts.
- Benutzerdefinierte build_ext-Implementierung: Verwenden Sie im überschriebenen build_ext CMake, um die Erweiterungsmodule zu konfigurieren und zu kompilieren.
- Beispielprojekt:Der Artikel stellt ein Beispielprojekt mit Beispieldateien bereit, einschließlich eines Python-Moduls, einer C-Erweiterung und CMakeLists.txt.
Setup-Skript:
Das Setup-Skript zeigt, wie man den Befehl build_ext überschreibt und CMake konfiguriert.
- CMakeExtension: Ein spezieller Erweiterungstyp, der den ursprünglichen Build nicht aufruft.
- build_ext: Ein erweiterter build_ext-Befehl, der CMake für jede Erweiterung ausführt.
- Testen Sie das Skript: Erstellen und installieren Sie das Projekt, um die Installation von zu überprüfen Erweiterung.
Durch die Integration von CMake in setup.py können Sie den Erstellungsprozess für Python-Erweiterungen, die mit C-Bibliotheken verknüpft sind, rationalisieren, sodass keine separaten Kompilierungsschritte erforderlich sind.
Das obige ist der detaillierte Inhalt vonKann CMake in setuptools verwendet werden, um Python-Erweiterungs-Builds zu optimieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heißer Artikel

Hot-Tools-Tags

Heißer Artikel

Heiße Artikel -Tags

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

C Sprachfunktionsformat -Buchstaben -Fall -Konvertierungsschritte

GULC: C -Bibliothek von Grund auf neu gebaut

Welche Werte sind von C -Sprachfunktionen zurückgegeben? Was bestimmt den Rückgabewert?

Was sind die Definitionen und Aufrufregeln von C -Sprachfunktionen und was sind die?

Wie funktioniert die C -Standard -Vorlagenbibliothek (STL)?

Wo ist der Rückgabewert der C -Sprachfunktion im Speicher?

eindeutiger Gebrauch und Phrasenfreigabe

Wie benutze ich Algorithmen aus der STL (sortieren, finden, transformieren usw.) effizient?
