当前位置: 首页 > 工具软件 > graph-lib > 使用案例 >

boost python3_CentOS 7 安装boost和graph-tool python3.7环境

钱青青
2023-12-01

graph-tool需要的依赖比较多,下面仅列出了主要的部分,比较简单的依赖可以参考报错自行解决。

需要注意的是,gcc8.3.0在编译的时候会有bug,升级到9.3.0之后问题消失。升级gcc之后需要重新编译py,否则跟graph-tool一起会报bug。

1 安装boost

1.1 下载并解压boost源码

1.2 执行bootstrap脚本

必须跟三个参数

./bootstrap.sh --with-python=python3 --with-python-root=/usr/local/bin/python3.7 --with-python-version=3.7

# ./bootstrap.sh --with-python=python3 --with-python-root=/usr/local/bin/python3.8 --with-python-version=3.8

1.3 修改编译配置

必须在配置中添加python的 头文件路径 和 库路径(一定确认下libpython3.Xm.so存在,这跟编译py时的参数有关,需要加–enable-shared,另外py3.8的include目录没有m后缀)

...

# Python configuration

import python ;

if ! [ python.configured ]

{

using python : 3.7 : "/usr/local/bin/python3.7" : /usr/local/include/python3.7m : /usr/local/lib ;

# py3.8

# using python : 3.8 : "/usr/local/bin/python3.8" : /usr/local/include/python3.8 : /usr/local/lib ;

}

...

1.4 编译 安装 加载

./b2

./b2 install

ldconfig /usr/local/lib

2 安装CGAL(5)

2.1 安装gmp和mpfr

yum install -y gmp-devel mpfr-devel

2.2 安装(CGAL5以上不需要编译)

cmake .

make install

3 安装cairomm

yum中的cairomm版本存在问题,与graph-tool不兼容,需要手动安装1.12.2版本(1.3、1.5均存在问题,官方表示不会进行处理),安装很简单,https://www.cairographics.org/releases/cairomm-1.12.2.tar.gz,下载后直接configure然后make&&make install即可。如果遇到需要sigc++-3.0到https://download.gnome.org/sources/libsigc++/3.0/libsigc++-3.0.3.tar.xz下载编译安装即可

4 安装graph-tool

4.1 安装其它依赖

yum install -y cairomm-devel sparsehash-devel

yum install -y gobject-introspection gobject-introspection-devel cairo-gobject-devel

pip install pycairo

pip install cython

pip install sparsehash

pip install PyGObject

4.2 下载 解压 进入

4.3 编译(make耗时很久)

./configure --with-python-module-path=/usr/local/lib/python3.7/site-packages --with-boost=/usr/local/boost --with-boost-libdir=/usr/local/boost/lib CPPFLAGS="-I/usr/local/boost/include" LDFLAGS="-L/usr/local/boost/lib" PYTHON=python3.7 --with-boost-python=boost_python37 --with-sparsehash-prefix=google

# py 3.8

# 如果boost没有指定目录可以不用挂boost的参数

# ./configure --with-python-module-path=/usr/local/lib/python3.8/site-packages PYTHON=python3.8 --with-boost-python=boost_python38 --with-sparsehash-prefix=google

make

make install

最后,如果只是简单使用,建议还是按照官方说的,直接安装docker版(但是那个docker里啥也没有很不方便),手动编译代价太高。如果必须手动编译,就加油吧。

 类似资料: