python - Cmake 无法找到 Python 库

标签 python python-2.7 cmake

收到此错误:

sudo: unable to resolve host coderw@ll
-- Could NOT find PythonLibs (missing:  PYTHON_LIBRARIES PYTHON_INCLUDE_DIRS) 
CMake Error at /usr/share/cmake-2.8/Modules/FindPackageHandleStandardArgs.cmake:108     
(message):
Could NOT find PythonInterp (missing: PYTHON_EXECUTABLE)
Call Stack (most recent call first):
/usr/share/cmake-2.8/Modules/FindPackageHandleStandardArgs.cmake:315  
(_FPHSA_FAILURE_MESSAGE)
/usr/share/cmake-2.8/Modules/FindPythonInterp.cmake:139 
(FIND_PACKAGE_HANDLE_STANDARD_ARGS)
Code/cmake/Modules/FindNumPy.cmake:10 (find_package)
CMakeLists.txt:114 (find_package)



-- Configuring incomplete, errors occurred!
See also "/home/coderwall/Desktop/rdkit/build/CMakeFiles/CMakeOutput.log".
See also "/home/coderwall/Desktop/rdkit/build/CMakeFiles/CMakeError.log".

我已经安装了:

  1. sudo apt-get install python-dev
  2. 环境变量已经设置如下:

    PYTHON_INCLUDE_DIRS=/usr/include/python2.7 
    PYTHON_LIBRARIES=/usr/lib/python2.7/config/libpython2.7.so
    

python.h 的位置:/usr/lib/include/python2.7/python.h

python 库的位置:/usr/lib/python2.7/ 如何解决这个问题?

最佳答案

您可以通过附加到 cmake 来修复错误。命令-DPYTHON_LIBRARY-DPYTHON_INCLUDE_DIR用各个文件夹填充的标志。

因此,诀窍是用 python 解释器返回的信息填充这些参数,这是最可靠的。这可能独立于您的 python 位置/版本(也适用于 Anaconda 用户):

$ cmake .. \
-DPYTHON_INCLUDE_DIR=$(python -c "from distutils.sysconfig import get_python_inc; print(get_python_inc())")  \
-DPYTHON_LIBRARY=$(python -c "import distutils.sysconfig as sysconfig; print(sysconfig.get_config_var('LIBDIR'))")

如果您要链接到 cmake 的 python 版本是 Python3.X,并且默认的 python 符号链接(symbolic link)指向 Python2.X,python3 -c ...可以用来代替python -c ... .

如果错误仍然存​​在,您可能需要更新 cmake升级到@pdpcosta 所述的更高版本,然后再次重复该过程。

关于python - Cmake 无法找到 Python 库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24174394/

相关文章:

python - Django 从模板输出中删除所有空行

Python httplib.InvalidURL : nonnumeric port fail

testing - 如果更改了 CMAKE_RUNTIME_OUTPUT_DIRECTORY,则 CMake 无法找到测试

makefile - 将选项传递给 cmake 以供将来交叉编译的选项 (CROSS_COMPILE)

python - 需要创建一个新的 Python 列表,其中包含另一个列表的所有可能的唯一组合

python - 如何在 Keras 中创建依赖于纪元数的损失函数参数?

Python——搜索子串全词)

c++ - 在 Qiana 上构建 opencv 失败

Python 操作系统错误 : [Errno 2] No such file or directory ERROR

python - 初学Matplotlib,如何为图表制作随机数据