如何修复:Anaconda找不到pyconfig.h

时间:2019-01-11 19:11:21

标签: python c++ binding

我正在为库的python绑定设置boost-python。以前,boost已安装,但与python2.7链接。经过一番磨难,以前的boost安装中的所有内容都消失了,我正在尝试安装新的boost。

我使用Linux Mint作记录,而Anaconda使用python 3.6.8。 它可以在CLI中正常工作:python --version给出3.6.8

然后我开始按照说明进行增强:https://www.boost.org/users/history/version_1_69_0.html

我从其他线程得到的就是这样做:

sudo apt-get install python3-dev

我不确定是否应该这样做,因为我有anaconda3,但是无论如何,我做到了。

./bootstrap.sh

在这里创建了project-config.jam文件,关于python的一行显示:

using python : 3.6 : /home/myUser/anaconda3 ; 

然后我继续使用b2进行构建:

sudo ./b2 --with-python -j8 install

安装失败,实际上是一堵满是这些文字的墙:

./boost/python/detail/wrap_python.hpp:50:11: fatal error: 
pyconfig.h: No such file or directory
# include <pyconfig.h>
          ^~~~~~~~~~~~
compilation terminated.

当我在〜/ anaconda3 / include / python3.6m中搜索时,pyconfig.h文件位于预期的位置

我应该给b2或bootstrap附加信息吗?

1 个答案:

答案 0 :(得分:2)

我在安装带有Python的Boost 1.70和Anaconda3与Python 3.7.1时遇到相同的问题。我根据这个问题找到了答案。 Ubuntu - Linking boost.python - Fatal error: pyconfig cannot be found

通过首先解决此问题的方法,您应该在Anaconda的安装目录中找到“ pyconfig.h”文件。对我来说,它在“〜/ anaconda3 / include / python3.7m”中。然后导出该地址,或仅将此地址添加到.bashrc文件中。

export CPLUS_INCLUDE_PATH="$CPLUS_INCLUDE_PATH:path/to/your/Anaconda3/include/python3.7m"

将地址放入您的PC中的Anaconda,而不是path / to / your / Anaconda3。在此之后,请记住重新启动终端。然后再次在boost文件夹中运行“ ./b2”。它应该编译其余部分。