2015-05-26 12 views
8

pitone e python3 sono installati in OS X Yosemite via Homebrew, ma non riesce a trovare CMake PythonLibs 3, solo 2:OS X CMake non riesce a trovare PythonLibs 3.4


CMakeLists.txt:

set(Python_ADDITIONAL_VERSIONS 3.4) 
FIND_PACKAGE(PythonInterp REQUIRED) 
FIND_PACKAGE(PythonLibs 3.4 REQUIRED) 

get:

-- Found PythonInterp: /usr/local/bin/python3.4 (found suitable version "3.4.3", minimum required is "3.4") 
-- Found PythonLibs: /usr/lib/libpython3.4.dylib (found version "2.7.6" 

CMakeLi sts.txt:

set(Python_ADDITIONAL_VERSIONS 3.4) 
FIND_PACKAGE(PythonInterp 3.4 REQUIRED) 
FIND_PACKAGE(PythonLibs 3.4 REQUIRED) 

get:

Could NOT find PythonLibs: Found unsuitable version "2.7.6", but required 
is at least "3.4" (found PYTHON_LIBRARY-NOTFOUND) 


Poi ho aggiunto questo per cmake liste:

INCLUDE_DIRECTORIES(/usr/local/Cellar/python3/3.4.3/Frameworks/Python.framework/Versions/3.4/lib) 
INCLUDE_DIRECTORIES(/usr/local/Cellar/python3/3.4.3/Frameworks/Python.framework/Versions/3.4/include/python3.4m) 

e perfino copiati che le directory da /usr/lib, e poi ottenuto:

Could NOT find PythonLibs: Found unsuitable version "2.7.6", but required 
is at least "3.4" (found /usr/lib/libpython3.4.dylib) 

che sembra strano.

+0

stesso problema con CMake su Windows, appositamente questa linea è un messaggio di errore stupido: '(trovato versione adatta "3.4 .3 ", minimo richiesto è" 3.4 ")' – dashesy

risposta

0

Sembra che la versione corretta di Python si trovi nella configurazione CMake, ma anche le posizioni delle librerie devono essere impostate. A seconda della installazione/configurazione la posizione delle librerie può variare, anche se nella configurazione si vorrà qualcosa di simile:

PYTHON_LIBRARIES=/Library/Frameworks/Python.framework/Versions/3.4/lib/libpython3.4m.dylib 
PYTHON_INCLUDE_DIR=/Library/Frameworks/Python.framework/Versions/3.4/include/python3.4m 

http://www.cmake.org/cmake/help/v3.0/module/FindPythonLibs.html

+0

Non sembra linea una soluzione universale, tuttavia ha funzionato bene. Ora ho deciso di farlo usando python3 setuptools invece di cmake. – iskhakovt

0

è necessario aggiungere il percorso per le librerie nella vostra "LD_LIBRARY_PATH " variabile d'ambiente. In questo modo, CMake saprà dove cercarli. Questo può accadere con più installazioni Python o quando è installato in una posizione non standard. Questo dovrebbe risolverlo:

export LD_LIBRARY_PATH=/usr/local/Cellar/python3/3.4.3/Frameworks/Python.framework/Versions/3.4/lib:$LD_LIBRARY_PATH 

Il comando CMake "INCLUDE_DIRECTORIES" è solo per le intestazioni (aka/usr/include.).

-> Se la mia soluzione non funziona, assicurarsi di aver installato python-devel: how to install python-devel in Mac OS?

Problemi correlati