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?

  • Python hören das Windows-Log-Event
  • PyInstaller: Single-File-ausführbare Datei wird nicht ausgeführt
  • Kann ich MinGW kompilierte Python-Erweiterungen zusammen mit Visual C ++ kompilierten verwenden?
  • PythonMagick kann meine pdf-Dateien nicht finden
  • Senden von ^ C an Python-Unterprozessobjekte unter Windows
  • Extrahiere Audio mit youtube-dl auf Windows
  • Verwenden von DPAPI mit Python?
  • Subprocess.Popen ('start') schlägt fehl
  • 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.