Ho 2 versioni di python installate, ma cmake utilizza la versione precedente. Come faccio a forzare cmake per utilizzare la versione più recente?Ho installato 2 versioni di python, ma cmake sta usando una versione precedente. Come posso forzare cmake ad utilizzare la versione più recente?
risposta
Prova ad aggiungere -DPYTHON_EXECUTABLE:FILEPATH=/path/to/python2.7
Potrebbe essere un problema di percorso?
potrebbe anche specificare il percorso alla libreria python, utilizzare la versione che si desidera:
cmake -DPYTHON_LIBRARIES=/Library/Frameworks/Python.framework/Versions/2.7/lib/libpython2.7.dylib .
Si noti che almeno per cmake 2.8 su Ubuntu 16.04, devi impostare -DPYTHON_LIBRARY invece di -DPYTHON_LIBRARIES – phiresky
ho avuto un problema simile, e si sono risolti utilizzando Paul's answer come un suggerimento. Avevo bisogno di usare python2.7
per compilare una vecchia libreria, ma cmake
continua a raccogliere le mie librerie (ed eseguibili) python3.2
.
Innanzitutto, ho eseguito cmake
con le opzioni predefinite, quindi ho modificato il file CMakeCache.txt
da esso generato. L'ho fatto in questo modo principalmente perché non conoscevo gli incantesimi -D...
appropriati per causare cmake
per ottenere la libreria python e includere i percorsi, ecc in primo luogo.
Nel mio CmakeCache.txt
, ho trovato le linee come questo
percorso di un programma di
PYTHON_EXECUTABLE:FILEPATH=/usr/bin/python
percorso di una directory
PYTHON_INCLUDE_DIR:PATH=/usr/include/python3.2
percorso per una libreria
PYTHON_LIBRARY:FILEPATH=/usr/lib/libpython3.2.so
e sostituiti ogni occorrenza di python3.2
con python2.7
. Ho anche dovuto rinominare lo PYTHON_EXECUTABLE
per utilizzare python2.7
, poiché python
è un collegamento simbolico a python3.2
sul mio sistema.
Quindi riebro cmake
. Poiché preferisce i suoi valori memorizzati nella cache per cercare effettivamente le librerie, questo dovrebbe funzionare in tutti i casi. Almeno, lo ha fatto nel mio.
Questo è ciò che ha funzionato per me. Fornire variabili di ambiente cmake non ha funzionato. Modifica del file CmakeCache. È più facile lavorare con comunque – JohnAllen
Puoi provare uno di questi a seconda di quello che vi serve:
find_package(PythonInterp 2.7 REQUIRED)
find_package(PythonLibs 2.7 REQUIRED)
See: CMake docs
Funziona bene, anche usando Travis. –
Così facile ... mi sento stupido. – dividebyzero
https://cmake.org/cmake/help/latest/module/FindPythonInterp.html consiglia di scambiare le righe – sercxjo
uso anaconda (Python 2.7.8), così come pitone 2.7.6.
Ho provato -DPYTHON_EXECUTABLE:FILEPATH=$ANACONDA_HOME/bin
, ma trovato versione 1.4 (strano :).
La mia soluzione sta cambiando a PYTHON_EXECUTABLE:
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -DBUILD_TIFF=ON \
-DPYTHON_LIBRARY=$ANACONDA_HOME/lib/libpython2.7.so \
-DPYTHON_INCLUDE_DIR=$ANACONDA_HOME/include/python2.7/ \
-DPYTHON_EXECUTABLE=$ANACONDA_HOME/bin/python
Per anaconda in particolare, questo ha funzionato per me (e si spera si generalizzi più facilmente): https://github.com/jkhoogland/FindPythonAnaconda (anche se ho dovuto fare due piccoli cambiamenti - sono entrambi nella mia forcella GitHub se upstream non funziona nemmeno per te) –
- 1. OpenCV con CMake versione 3.5.2 vs CMake 2.X.X
- 2. Come forzare la versione locale come più recente su SVN
- 3. Come utilizzare una versione precedente di gcc in Linux
- 4. come disinstallare la versione precedente di xcode
- 5. Come installare la versione precedente di Typescript?
- 6. Come posso sapere quale versione di monotouch ho installato?
- 7. Come scaricare la versione precedente di Magento
- 8. Come aggiornare vagamente la precisione32 alla versione più recente?
- 9. utilizzare tensorflow precompilato con cmake
- 10. npm Utilizzare 2 versioni di Python
- 11. Come aggiornare Spark alla versione più recente?
- 12. Come tornare alla versione più recente in Git?
- 13. Gradle - ottenere la versione più recente di una dipendenza
- 14. Come verificare la versione corrente di sympy e aggiornare alla versione più recente
- 15. Impostare la versione minima di boost in cmake
- 16. Come posso forzare Rails ad usare la versione di Ruby (gestita con rbenv) che voglio?
- 17. Ottenere nokogiri per usare una versione più recente di libxml2
- 18. Come posso collegarmi ad una specifica versione di glibc?
- 19. Come collegare più librerie usando CMake
- 20. Come posso installare una gerarchia di file usando cmake?
- 21. Android: notifica all'utente di una versione più recente
- 22. NPM aggiornamento tutto alla versione più recente
- 23. Come aggiornare un'istanza precedente di Elasticsearch in esecuzione a una versione più recente?
- 24. Come compilare CMake per ARM con CMake
- 25. Utilizzando vecchia versione di NumPy anche con una versione più recente installata non
- 26. Android CMake è compatibile con le versioni più recenti NDK?
- 27. come posso controllare la versione di cocoapods?
- 28. La percentuale di distribuzione della versione iOS più recente?
- 29. CMake - osx/mac - brew openssl
- 30. Come utilizzare CMAKE per il compilatore Windows-SDK, quando VS2010 è installato?
ho avuto il problema inverso: 'cmake' stava scegliendo python3.2, dove avevo bisogno 2.7 per una libreria per la compilazione. – jpaugh