Welche Version von Visual Studio und / oder MinGW brauche ich, um Erweiterungsmodule für eine gegebene Version von Python zu bauen?

Um diese Frage anders zu stellen, welche Version von Visual C ++ war jeder offizielle Build von Python von python.org von Python gebaut mit, und welche Versionen von MinGW sind kompatibel mit diesen Versionen von Visual C ++?

Ist diese Information auf einer Website verfügbar?

2 Solutions collect form web for “Welche Version von Visual Studio und / oder MinGW brauche ich, um Erweiterungsmodule für eine gegebene Version von Python zu bauen?”

Python 2.6, 2.7, 3.1 und 3.2 wurden alle mit VS 2008 kompiliert. Python 3.3 und 3.4 sind mit VS 2010 kompiliert.

Ich bin mir nicht sicher über MinGW-Kompatibilität.

Wenn Sie nach Kommandozeilen-Compilern suchen, hat Microsoft zwei verschiedene SDKs für Windows 7 veröffentlicht, die die Befehlszeilen-Compiler enthalten. Das erste SDK (für .NET 3.5) enthält die VS 2008 Compiler. Das zweite SDK (für .NET 4.0) enthält die VS 2010 Compiler.

Update: Die Datei PCbuild\readme.txt in der Quellverteilung jeder Version von Python enthält die Version von Visual Studio, die für die Binärdateien verwendet wird.

Vermutlich spricht man von einer Anforderung, dass Python-Erweiterungen gebaut werden, um dynamisch mit der gleichen C-Laufzeitbibliothek zu verknüpfen, die die Python-Instanz macht. Es sollte zunächst darauf hingewiesen werden, dass dies davon abhängt, wie die Instanz aufgebaut wurde, dh wenn Sie Python selbst aus dem Quellcode erstellen, ist es die Compiler-Version, die Sie für den Build verwenden, nicht die Version von Python, die die verwendete Laufzeitbibliothek bestimmt .

Wenn du die Laufzeitbibliotheksversionen für die offiziellen Binärversionen kennen möchtest, kannst du dich selbst mit deinem Lieblings-DLL-Abhängigkeitstool, z. B. Dependency Walker , ausarbeiten oder sehen, welche Laufzeitbibliothek verteilbar im Installateur enthalten ist.

Basierend auf meiner sehr kurzen Forschung, glaube ich, können Sie die neueste Version von MinGW mit einer dieser Laufzeitbibliotheken verwenden. Standardmäßig verwendet es msvcrt.dll, die C-Laufzeit in Windows integriert, aber es scheint, die Verwendung von VC ++ – Laufzeiten stattdessen zu unterstützen.

  • Wie man Python-Code in Batch-Skript einbetten
  • Lesen von Zeilen aus Textdatei in python (windows)
  • Kann nicht in stdin im Teilprozess schreiben
  • Shebang Notation: Python Scripts unter Windows und Linux?
  • Wie kann ich aus einer HTML-Datei in die Zwischenablage in Python in formatiertem Text kopieren?
  • Das PyGtk-Programm reagiert nicht auf Windows
  • Fehlende Abhängigkeiten Installieren von NumPy 1.9 für Python 3.4.1 32-Bit unter Windows 7
  • Paster-Daemon wird nicht heruntergefahren, weil man keine eigene pid-Datei lesen kann
  • Kann Scrapy nicht auf Windows einrichten
  • Seltsame Pfadtrennzeichen unter Windows
  • Python - Encoding String - Schwedische Buchstaben
  • Python ist die beste Programmiersprache der Welt.