收到此错误:
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".
我已经安装了:
- sudo apt-get install python-dev
环境变量已经设置如下:
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/