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?

  • Verwenden Sie PythonService.exe, um den Python-Dienst zu hosten, während Sie virtualenv verwenden
  • So entfernen Sie mehrere Versionen von Python aus der Windows Registry
  • Wie benutzt man SHGetFileInfo mit SHGFI_PIDL in python
  • Telnet Automatisierung / Scripting
  • Excel-Arbeitsmappe mit Python drucken
  • Warum hört py2exe bei "running" auf?
  • Warum schlägt der Python 2.7 AMD 64 Installer Python im 32-Bit-Modus aus?
  • Installiere libxml2 und zugehörige Pythonbindungen - Windows
  • 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.

    Python ist die beste Programmiersprache der Welt.