Pat*_*kss 3 c++ python binding
我正在为库的 python 绑定设置 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
Run Code Online (Sandbox Code Playgroud)
我不确定我应该这样做,因为我有 anaconda3,但无论如何,我做到了。
./bootstrap.sh
Run Code Online (Sandbox Code Playgroud)
这里创建了文件project-config.jam,关于python的行说:
using python : 3.6 : /home/myUser/anaconda3 ;
Run Code Online (Sandbox Code Playgroud)
然后我继续使用 b2 进行构建:
sudo ./b2 --with-python -j8 install
Run Code Online (Sandbox Code Playgroud)
安装失败,文字墙充满了这些:
./boost/python/detail/wrap_python.hpp:50:11: fatal error:
pyconfig.h: No such file or directory
# include <pyconfig.h>
^~~~~~~~~~~~
compilation terminated.
Run Code Online (Sandbox Code Playgroud)
当我在 ~/anaconda3/include/python3.6m 内部搜索时,文件 pyconfig.h 按预期位于那里
我应该向 b2 或 bootstrap 提供其他信息吗?
我在使用 python Anaconda 和 python 3.7.1 安装 boost 1.70 和 Anaconda3 时面临同样的问题。我根据这个问题找到了答案。 Ubuntu - 链接 boost.python - 致命错误:找不到 pyconfig
顺便说一句,要解决这个问题,首先你应该在Anaconda的安装目录中找到“pyconfig.h”文件。对我来说它在“~/anaconda3/include/python3.7m”中。然后导出该地址或仅将此地址添加到 .bashrc 文件中。
export CPLUS_INCLUDE_PATH="$CPLUS_INCLUDE_PATH:path/to/your/Anaconda3/include/python3.7m"
Run Code Online (Sandbox Code Playgroud)
将 Anaconda 的地址放入您的电脑中,而不是 path/to/your/Anaconda3。请记住在此之后重新启动终端。然后再次在 boost 文件夹中运行“./b2”。它应该编译其余部分。