Heim Backend-Entwicklung C++ Kann CMake in setuptools verwendet werden, um Python-Erweiterungs-Builds zu optimieren?

Kann CMake in setuptools verwendet werden, um Python-Erweiterungs-Builds zu optimieren?

Oct 27, 2024 am 07:36 AM

 Can CMake be Used Within setuptools to Streamline Python Extension Builds?

Setuptools-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:

  1. Überschreiben Sie die Befehlsklasse build_ext: Unterklassifizieren Sie den Befehl build_ext und Registrieren Sie es in den Befehlsklassen des setup.py-Skripts.
  2. Benutzerdefinierte build_ext-Implementierung: Verwenden Sie im überschriebenen build_ext CMake, um die Erweiterungsmodule zu konfigurieren und zu kompilieren.
  3. 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.

  1. CMakeExtension: Ein spezieller Erweiterungstyp, der den ursprünglichen Build nicht aufruft.
  2. build_ext: Ein erweiterter build_ext-Befehl, der CMake für jede Erweiterung ausführt.
  3. 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!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße Artikel -Tags

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

C Sprachfunktionsformat -Buchstaben -Fall -Konvertierungsschritte C Sprachfunktionsformat -Buchstaben -Fall -Konvertierungsschritte Mar 03, 2025 pm 05:53 PM

C Sprachfunktionsformat -Buchstaben -Fall -Konvertierungsschritte

GULC: C -Bibliothek von Grund auf neu gebaut GULC: C -Bibliothek von Grund auf neu gebaut Mar 03, 2025 pm 05:46 PM

GULC: C -Bibliothek von Grund auf neu gebaut

Welche Werte sind von C -Sprachfunktionen zurückgegeben? Was bestimmt den Rückgabewert? Welche Werte sind von C -Sprachfunktionen zurückgegeben? Was bestimmt den Rückgabewert? Mar 03, 2025 pm 05:52 PM

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? Was sind die Definitionen und Aufrufregeln von C -Sprachfunktionen und was sind die? Mar 03, 2025 pm 05:53 PM

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

Wie funktioniert die C -Standard -Vorlagenbibliothek (STL)? Wie funktioniert die C -Standard -Vorlagenbibliothek (STL)? Mar 12, 2025 pm 04:50 PM

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

Wo ist der Rückgabewert der C -Sprachfunktion im Speicher? Wo ist der Rückgabewert der C -Sprachfunktion im Speicher? Mar 03, 2025 pm 05:51 PM

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

eindeutiger Gebrauch und Phrasenfreigabe eindeutiger Gebrauch und Phrasenfreigabe Mar 03, 2025 pm 05:51 PM

eindeutiger Gebrauch und Phrasenfreigabe

Wie benutze ich Algorithmen aus der STL (sortieren, finden, transformieren usw.) effizient? Wie benutze ich Algorithmen aus der STL (sortieren, finden, transformieren usw.) effizient? Mar 12, 2025 pm 04:52 PM

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

See all articles