获取此错误:
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".
我已经安装了:
python.h
的位置:/usr/lib/include/python2.7/python.h
python
库的定位:/usr/lib/python2.7/
如何解决这个问题?
发布于 2016-06-30 11:36:24
您可以通过在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符号链接指向Python2.X,则可以使用python3 -c ...
而不是python -c ...
。
如果错误仍然存在,您可能需要按照@pdpcosta的说明将cmake
更新为更高的版本,并再次重复该过程。
发布于 2015-04-07 20:18:15
对我来说,这是有帮助的:
# if using python2
apt-get install python-dev
# if using python3
apt-get install python3-dev
发布于 2015-04-15 17:50:31
我碰到了同样的问题,发现错误消息给出了错误的变量名。尝试设置以下内容(单数而不是复数):
PYTHON_INCLUDE_DIR=/usr/include/python2.7
PYTHON_LIBRARY=/usr/lib/python2.7/config/libpython2.7.so
您看到错误消息的(复数)变量是PythonLibs在正确初始化时设置的值。
https://stackoverflow.com/questions/24174394
复制相似问题