Nicht genau auf die Programmierung bezogen, sondern auf einen Fehler, mit dem ich beim Installieren eines Python-Pakets mit python setup.py install konfrontiert bin.
Ich habe die TAR-Datei für das PyML-Paket heruntergeladen. Nach dem Extrahieren habe ich die folgenden Schritte ausgeführt:
Bei der DOS-Eingabeaufforderung setzen Sie die Variable wie folgt:
%Vor%Gehen Sie in das Verzeichnis mit der Datei setup.py im extrahierten PyML-Ordner und führen Sie Folgendes aus:
%Vor%Aber auf beiden Schritten bekomme ich Fehler wie unten, in Bezug auf ext / hash_map wurde keine solche Datei gefunden.
C: \ Programme (x86) \ Microsoft Visual Studio 11.0 \ VC \ INCLUDE \ xlocale (336): wa rning C4530: C ++ - Ausnahme-Handler verwendet, aber Semantik zum Abwickeln ist nicht aktiviert. S pecify / EHsc
e: \ ajit \ pyml-0.7.13.tar \ dist \ pyml-0.7.13 \ pyml \ container \ ext \ SparseDataSet.h (14) : fataler Fehler C1083: Include - Datei kann nicht geöffnet werden: 'ext / hash_map': Keine solche Datei oder Verzeichnis
Fehler: Befehl '"C: \ Programme (x86) \ Microsoft Visual Studio 11.0 \ VC \ BIN \ cl.e xe "'ist fehlgeschlagen mit dem Exit-Status 2
Was vermisse ich? Wie man diesen Fehler auflöst und PyML installiert.
Python-Version: 2.7.5 MSC v.1500 32 Bit (Intel)] auf Win32 auf Windows 8-Rechner.
PyML-Version: 0.7.13
Zuerst wird empfohlen, den gleichen Compiler zu verwenden, wie er verwendet wurde um Python-Binärdateien zu erstellen, was VS8:
istPython 2.6, 2.7 und 3.1 sind alle mit dieser Version erstellt (d. h. 2008). Wegen einer anderen langen Tradition müssen Python-Erweiterungsmodule sein mit der gleichen Compiler-Version (genauer CRT-Version) wie Python selbst. Also um Erweiterungsmodule für diese zu erstellen Releases benötigen Sie eine Kopie von VS 2008 oder VS 2008 Express.
Also wahrscheinlich Ihre nächste Frage füllen "Wie den C ++ - Compiler für die Verwendung einer bestimmten CRT-Version erzwingen? "
Zweitens ist dies in Ihrem Fall keine Lösung, da es unterschiedliche Syntax gibt, einschließlich tr1 Bibliotheken in gcc und msvs Siehe diese Frage zum Beispiel. Anstelle von # include <ext/hash_map>
für MSVS muss # include <hash_map>
sein. Wenn Sie darauf bestehen, MSVS zu verwenden, werden Sie wahrscheinlich den PyML-Code ändern.
Wahrscheinlich können Sie zu MinGW-Nutzung wechseln, hier ist ein Schritt-für-Schritt-Anleitung , ich habe auch nicht überprüft, ob PyML auf diese Weise erstellt werden kann. Wird nicht in der Lage sein, es vor dem 14. November zu tun.
Tags und Links python visual-studio installation pyml