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

标签 python c++ binding

我正在为库的 python 绑定(bind)设置 boost-python。以前安装了 boost,但链接到 python2.7。在经历了一些磨难之后,之前的 boost 安装的所有内容都消失了,我正在尝试安装一个新的 boost。

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

然后我开始按照说明构建 boost: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 提供额外的信息吗?

最佳答案

我在使用 python Anaconda 和 python 3.7.1 安装 boost 1.70 和 Anaconda3 时遇到了同样的问题。我找到了基于这个问题的答案。 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"

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

关于python - 如何修复 Anaconda 找不到的 : pyconfig. h,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54152667/

相关文章:

从 C : errors 调用 Lua 脚本

python - 使用针对不同环境的不同配置在 Elastic Beanstalk 上部署 Python

python - pandas 计算每月平均值

python - pytorch张量根据列对行进行排序

wpf - 通过 MVVM 绑定(bind)的 ObservableCollection<T> 不会更新 View

WPF 命令绑定(bind)

python - 运行 flask + gevent + 请求不服务 'concurrently'

c++ - Mumble/Google protobufs 客户端读取数据函数错误

java - Ignite C++ 客户端用于 cassandra 集成

c++ - 在 C++ 中包装 std::iterator