OS X cmake can';我找不到pythonlibs3.4

OS X cmake can';我找不到pythonlibs3.4,python,macos,python-3.x,cmake,Python,Macos,Python 3.x,Cmake,python和python3通过自制安装在OS X Yosemite中,但cmake找不到PythonLibs 3,只有2: CMakeLists.txt: set(Python_ADDITIONAL_VERSIONS 3.4) FIND_PACKAGE(PythonInterp REQUIRED) FIND_PACKAGE(PythonLibs 3.4 REQUIRED) set(Python_ADDITIONAL_VERSIONS 3.4) FIND_PACKAGE(PythonInte

python和python3通过自制安装在OS X Yosemite中,但cmake找不到PythonLibs 3,只有2:


CMakeLists.txt:

set(Python_ADDITIONAL_VERSIONS 3.4)
FIND_PACKAGE(PythonInterp REQUIRED)
FIND_PACKAGE(PythonLibs 3.4 REQUIRED)
set(Python_ADDITIONAL_VERSIONS 3.4)
FIND_PACKAGE(PythonInterp 3.4 REQUIRED)
FIND_PACKAGE(PythonLibs 3.4 REQUIRED)
获取:


CMakeLists.txt:

set(Python_ADDITIONAL_VERSIONS 3.4)
FIND_PACKAGE(PythonInterp REQUIRED)
FIND_PACKAGE(PythonLibs 3.4 REQUIRED)
set(Python_ADDITIONAL_VERSIONS 3.4)
FIND_PACKAGE(PythonInterp 3.4 REQUIRED)
FIND_PACKAGE(PythonLibs 3.4 REQUIRED)
获取:



然后我将其添加到cmake列表中:

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)
甚至将该目录复制到
/usr/lib
,然后得到:

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

这看起来很奇怪。

在您的
CMake
配置中似乎找到了正确的Python版本,但是还需要设置库的位置。根据您的安装/配置,库的位置可能会有所不同,但在配置中您可能需要类似的内容:

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

您需要将路径添加到“LD\u LIBRARY\u path”环境变量中的库中。通过这种方式,CMake将知道在哪里寻找它们。多个python安装或安装在非标准位置时可能会发生这种情况。这应该解决这个问题:

export LD_LIBRARY_PATH=/usr/local/Cellar/python3/3.4.3/Frameworks/Python.framework/Versions/3.4/lib:$LD_LIBRARY_PATH
CMake命令“INCLUDE_DIRECTORIES”仅用于标题(aka./usr/INCLUDE)


->如果我的解决方案不起作用,请确保安装了python-devel:

它看起来不是一个通用的解决方案,但是它工作得很好。现在我决定用python3 setuptools而不是cmake来完成。Windows上的cmake也有同样的问题,特别是这一行是一条愚蠢的错误消息:
(找到合适的版本“3.4.3”,最低要求是“3.4”)