linux下编译boost.python简单方法

最近项目使用c++操作Python脚本,选用boost.python库。在window下编译安装很顺利,但是在Linux下一直编译不通过,总是提示找不到头文件。linux版本为rhel5.7。后来询问同事,原来是同事将原来系统自带的python2.4删除掉了,然后手动编译安装了python3.3。

换到另外一台机器,重新下载boost,使用以下命令,顺利编译成功

./bootstrap.sh --with-python=/usr/bin/python
./bjam --build-type=minimal --with-python variant=release link=static threading=multi address-model=64 --debug-configurations install 

说明:生成bjam工具的时候要增加with-python参数同时指定python可执行程序的路径,具体参数可以运行./bootstrap --help查看

这样编译出来的库是链接python2.4生成的库,至于为什么自己安装的3.3编译不成功,原因还有待查找,

为什么会报 No best alternative for /python_for_extensions错误。

--------------------------------------------------------------------------------------------

2014/5/5 19:15补充:

针对自定义的版本,要使用以下命令编译

./b2 --with-python include="/usr/local/python3.3.5/include/python3.3m/"

通过include参数指定自定义版本的python包含路径。上述命令同样会报No best alternative for /python_for_extensions估计是多个版本的python引起的。

这里要使用b2进行编译,据说b2是第二个版本的bjam,以后不要使用bjam了

另外自行编译python的时候最好要编译动态库

./configure --prefix=/usr/local/python3.3.5 --enable-shared
make && make install

切记,linux不要删除系统自带的python。rhel5.7删除以后yum都不好用了 很悲剧

以上这篇linux下编译boost.python简单方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

时间: 2017-03-14

Linux下编译安装python3步骤

Linux下默认系统自带python2.6的版本,这个版本被系统很多程序所依赖,所以不建议删除,如果使用最新的Python3那么我们知道编译安装源码包和系统默认包之间是没有任何影响的,所以可以安装python3和python2共存 首先去python官网下载python3的源码包,网址:https://www.python.org/ 进去之后点击导航栏的Downloads,也可以鼠标放到Downloads上弹出菜单选择Source code,就是源码包的意思,这里选择最新版本3.5.1,当然下面

Linux下升级安装python3.8并配置pip及yum的教程

服务器的CentOS 7中自带的python版本是python-2.7.5,需要再安装一个 python-3.8.1 一.查看版本 安装前查看一下是否已经安装过python,我这里自带了python2.7.5版本,所以需要在不删除的情况下,在安装一个python3.8.1版本的, python -V 二.安装Python3.8.1 官网下载地址:https://www.python.org/downloads/source/ # 解压 tar -zxf Python-3.8.1.tgz # 安装

Linux下编译安装Mysql 5.5的简单步骤

首先是安装cmake环境.因为博主测试机是ubuntu,所以直接用apt-get install cmake命令来安装,yum相信应该也一样.或者可以编译安装,步骤如下. 复制代码 代码如下: wget http://www.cmake.org/files/v2.8/cmake-2.8.12.2.tar.gz tarx zvfc cmake-2.8.12.2.tar.gz cd cmake-2.8.12.2  ./configure make && make install 安装完成后执行

linux下编译安装kangle web server教程详解

首先下载kangle kangle web server源代码. kangle linux版下载: kangle源代码(tar.gz包,非windows版本安装) 请先确保你的系统上有g++,libz开发包,libpcre开发包,libiconv开发包.如你的系统为centos/rhel则运行下面命令安装这些包: yum -y install wget make automake gcc gcc-c++ pcre-devel zlib-devel sqlite-devel openssl-dev

linux下编译安装memcached服务

系统:Ubuntu 13.10 第一步:安装libevent-dev $aptitude search libevent-dev $aptitude install libevent-dev 第二步:下载memcached并安装 官网地址:http://memcached.org/ $wget -c http://www.memcached.org/files/memcached-1.4.17.tar.gz $tar -zxvf memcached-1.4.17.tar.gz $cd memca

Linux下编译安装php libevent扩展实例

原本想尝试一下PHP编写高性能网络服务,需要安装libevent扩展,没想到让人很费了点脑袋 先下载libevent扩展: http://pecl.php.net/package/libevent 解压后,开始编译 复制代码 代码如下: $ cd libevent-version $ /usr/local/php/bin/phpize $ ./configure --with-php-config=/usr/local/php/bin/php-config 结果马上报错了,错误显示为re2c版本

Linux下编译安装MySQL-Python教程

1.下载mysql-python 官网地址:http://sourceforge.net/projects/mysql-python/ 2.安装mysql-python 复制代码 代码如下: # tar -zxvf MySQL-python-1.2.3.tar.gz # cd MySQL-python-1.2.3 # whereis mysql_config mysql_config: /usr/bin/mysql_config /usr/share/man/man1/mysql_config.

CentOS7.3编译安装Python3.6.2的方法

我使用的是 CentOS7.3 安装 Python3.6.2 1.查看是否已经安装Python Centos7 默认安装了Python2.7.5 因为一些命令要用它比如 yum 它使用的是 python2.7.5. 使用 python -V 命令查看一下是否安装 Python: # python -V Python 2.7.5 然后查看一下 Python 可执行文件的位置: # which python /usr/bin/python 进入到 bin 目录: # cd /usr/bin/ # l

Linux 环境下编译安装MySQL5.6的笔记记录

一.首先搭建好Linux环境,我这边使用的是redhat enterprise 6.5,并且建议磁盘划分逻辑卷,以便后期的扩容工作. 二.环境搭建好了之后,我们就要去准备MySQL的安装文件,到现在为止mysql仍然是免费开源,可以直接在官网下载,大家可以自行访问官网去下载, 网址是:https://www.mysql.com/downloads/ ,当然下载前大家需要先去注册一个Oracle账户,然后选择社区免费版进行下载. 三.安装依赖包以及cmake编译工具 yum install -y

linux 编译安装python3.6的教程详解

1. 首先去官网  https://www.python.org/downloads/source/ 下载 Gzipped source tarball 不要下载 " XZ compressed source tarball " ,目前 python3.6 最新版压缩包名字是:Python-3.6.7.tgz. 把下载的压缩包随便放到一个地方,也可以放到桌面(便于安装过后删除安装包和解压后的安装包). 2. 命令行切换到上面压缩文件所在的目录(比如桌面),然后输入 tar -xzf P