dlib编译Python例子 && Linux 升级 Python 至 3.x



Linux 升级 Python 至 3.x

简述

在使用dlib做人脸识别时,需要用到Python支持,所以在centos 更新Python 至Python3.

系统环境: centos 6.5  32bit


查看 Python 版本号

当 Linux 上安装 Python 后(默认安装),只需要输入简单的命令,就可以查看 Python 的版本号:

# python -V
Python 2.6.6

可以看出,系统自带的 Python 版本是

2.6.6.

下载新版本

这里,我选择的版本是 3.5.2 。# wget https://www.python.org/ftp/python/3.5.2/Python-3.5.2.tgz

解压缩

下载完成之后,进行解压缩:

# tar -zxvf Python-3.5.2.tgz1

安装配置

进入解压缩后的目录,安装配置:

# cd Python-3.5.2/
# ./configure 

完成之后,重新执行:

# ./configure 

编译 & 安装

配置完成之后,就可以编译了:

# make 

漫长的等待……完成后,安装:

# make install 

验证

安装成功以后,就可以查看 Python 的版本了:

# python -V
Python 2.6.6
# python3 -V
Python 3.5.2

一个是旧版本 2.x,另外一个是新版本 3.x。

注意:在 /usr/local/bin/ 下有一个 python3 的链接,指向 bin 目录下的 python 3.5。

设置 3.x 为默认版本

查看 Python 的路径,在 /usr/bin 下面。可以看到 python 链接的是 python 2.7,所以,执行 python 就相当于执行 python 2.7。

# ls -al /usr/bin | grep python
-rwxr-xr-x.   1 root root    7.6K 11月 23 2013 abrt-action-analyze-python
-rwxr-xr-x.   2 root root    3.6K 8月  18 2016 python
lrwxrwxrwx.   1 root root       6 1月  31 14:43 python2 -> python
-rwxr-xr-x.   2 root root    3.6K 8月  18 2016 python2.6
-rwxr-xr-x.   1 root root    1.4K 8月  18 2016 python2.6-config
-rwxr-xr-x.   1 root root    6.0K 11月 22 2013 python
lrwxrwxrwx.   1 root root      16 1月  31 14:43 python-config -> python2.6-config

将原来 python 的软链接重命名:

# mv /usr/bin/python /usr/bin/python.bak

将 python 链接至 python3:

# ln -s /usr/local/bin/python3 /usr/bin/python

这时,再查看 Python 的版本:

# python -V
Python 3.5.2

输出的是 3.x,说明已经使用的是 python3了。

配置 yum

升级 Python 之后,由于将默认的 python 指向了 python3,yum 不能正常使用,需要编辑 yum 的配置文件:

# vi /usr/bin/yum

同时修改:

# vi /usr/libexec/urlgrabber-ext-down

将 #!/usr/bin/python 改为 #!/usr/bin/python2.6,保存退出即可。


-----------------------------------------------------分割线---------------------------------------------------



编译dlib python 例子


第一步:执行安装命令

[root@scooper dlib-19.7]# python setup.py install

出现一下问题:

-- Could NOT find Boost

-- Could NOT find PythonLibs (missing:  PYTHON_LIBRARIES) (Required is at least version "2.6")

*********************************************************************************************************

--  To compile Boost.Python yourself download boost from boost.org and then go into the boost root folder

--  and run these commands:

--     ./bootstrap.sh --with-libraries=python

--     ./b2

--     sudo ./b2 install

--  

*********************************************************************************************************

分析是:找不到boost是找不到boost.python,于是去编译boost.python。

第二步: 重新安装boost.python

[root@scooper boost_1_59_0]# ./bootstrap.sh --with-libraries=python

[root@scooper boost_1_59_0]# ./b2

之后发现如下错误:

./boost/python/detail/wrap_python.hpp:50:23: 致命错误:pyconfig.h:没有那个文件或目录
 # include
                       ^
编译中断。

分析: Python 版本不对, 然后按照文章开始安装Python3. 再次执行步骤二,依然报错。

网上查找:

缺少依赖库 python-devel,要安装一下:

sudo yum install python-devel


安装完成之后,执行步骤二,顺利完成。

第三步: 编译dlib python 例子

成功安装。












你可能感兴趣的:(人工智能)