首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Cmake无法找到Python库。

Cmake无法找到Python库。
EN

Stack Overflow用户
提问于 2014-06-11 23:48:33
回答 14查看 153.6K关注 0票数 72

获取此错误:

代码语言:javascript
运行
复制
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安装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/如何解决这个问题?

EN

回答 14

Stack Overflow用户

发布于 2016-06-30 11:36:24

您可以通过在cmake命令中附加填充相应文件夹的-DPYTHON_LIBRARY-DPYTHON_INCLUDE_DIR标志来修复错误。

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

代码语言:javascript
运行
复制
$ 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更新为更高的版本,并再次重复该过程。

票数 69
EN

Stack Overflow用户

发布于 2015-04-07 20:18:15

对我来说,这是有帮助的:

代码语言:javascript
运行
复制
# if using python2
apt-get install python-dev

# if using python3
apt-get install python3-dev
票数 39
EN

Stack Overflow用户

发布于 2015-04-15 17:50:31

我碰到了同样的问题,发现错误消息给出了错误的变量名。尝试设置以下内容(单数而不是复数):

代码语言:javascript
运行
复制
PYTHON_INCLUDE_DIR=/usr/include/python2.7 
PYTHON_LIBRARY=/usr/lib/python2.7/config/libpython2.7.so

您看到错误消息的(复数)变量是PythonLibs在正确初始化时设置的值。

票数 21
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24174394

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档