Ich habe 2 Versionen von Python installiert, aber CMake verwendet ältere Version. Wie erzwinge ich Cmake, um die neuere Version zu verwenden?
Ich habe 2 Versionen von python installiert, aber cmake ist, die mit älteren version. Wie kann ich Kraft cmake auf die neuere version?
Kommentar zu dem Problem
Ich hatte das umgekehrte problem:
cmake
wurde die Wahl Python ist3.2, wo ich es brauchte 2.7 für eine Bibliothek zu kompilieren. InformationsquelleAutor der Frage Sanjeev | 2013-03-08
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie versuchen, entweder von diesen, je nachdem, was Sie brauchen:
Finden Sie unter: CMake docs
InformationsquelleAutor der Antwort jadelord
Versuchen, hinzufügen
-DPYTHON_EXECUTABLE:FILEPATH=/path/to/python2.7
Könnte es ein Pfad-problem?
Könnte auch geben Sie den Pfad zu deiner python-Bibliothek,verwenden Sie Ihre version, die Sie möchten:
InformationsquelleAutor der Antwort Paul
Ich hatte ein ähnliches problem und wollte es mit Paul ' s Antwort als Hinweis. Ich brauchte, um
python2.7
kompilieren Sie eine ältere Bibliothek, abercmake
hält Kommissionierung bis meinepython3.2
Bibliotheken (und ausführbar).Zuerst lief ich
cmake
mit Standard-Optionen, dann bearbeitet dieCMakeCache.txt
- Datei, die es erzeugt. Ich habe es auf diese Weise in Erster Linie, weil ich nicht wusste, die richtige-D...
Sprüche zu verursachencmake
um die python-library-und include-Pfade, etc. richtig in den ersten Platz.In meinem
CmakeCache.txt
fand ich Zeilen wie diesePfad zu einem Programm
Pfad zu einem Verzeichnis
Pfad zu einer Bibliothek
Und ersetzt jedes vorkommen von
python3.2
mitpython2.7
. Ich hatte auch das umbenennen derPYTHON_EXECUTABLE
zu verwendenpython2.7
, dapython
ist ein symlink aufpython3.2
auf meinem system.Dann habe ich reran
cmake
. Denn es zieht seine zwischengespeicherte Werte eigentlich auf der Suche für die Bibliotheken, dies sollte in allen Fällen funktionieren. Zumindest Tat es das bei mir.InformationsquelleAutor der Antwort jpaugh
Ich benutze anaconda(python 2.7.8) sowie python 2.7.6.
Versuchte ich
-DPYTHON_EXECUTABLE:FILEPATH=$ANACONDA_HOME/bin
, aber version 1.4 gefunden (komisch:).Meine Lösung ist, es zu verändern PYTHON_EXECUTABLE:
InformationsquelleAutor der Antwort X.H. Jiang
Mein Anwendungsfall war ein ziemlich großes Projekt, in dem C++ - Klassen zur Verfügung gestellt wurden Python-Skripte über
Boost.Python
. Nachdem er kämpfte mit den verschiedenen Macken der CMake - Python-interpreter und Bibliothek-Erkennung, schließlich gab ich auf und rollte meinen eigenen. Mein Ansatz basiert auf einem leicht nach-bearbeitete version derpython-config
Skript manchmal (aber nicht immer!) in einer neu erstellten virtuellen Umgebung (sehen, das SO ein post aufpyvenv
für diese Fragen, aber ich schweife ab). Dieses Skript wird aufgerufen durch eine kleine CMake-snippetpyconfig.cmake
. Beide sind frei verfügbar aus dem GitHub repo cmake-python-config.Achtung: Die Skripte davon ausgehen, dass Sie eine Python-3-interpreter in Ihrem
PATH
. Erkennung von Python 2 nicht versucht. Die Skripte tun nicht versuchen zu finden alle installierten Versionen von Python ist3.InformationsquelleAutor der Antwort Laryx Decidua