非root用户安装python-2.7.12

安装python-2.7.12.
1)在python官网上下载相应的Linux版本: https://www.python.org/downloads/source/. 这里首先安装python2.7.12. 下载完毕, 解压:

tar -zxvf Python-2.7.12.tgz 

2)在编译前先在PATH/python-2.7.12建一个文件夹python2:

mkdir PATH/python-2.7.12/python2

3)进入解压目录:

cd Python-2.7.12

4)开始编译安装, 首先指定python3的安装路径, 在./config处设置:
(./configure –help 会输出configure的帮助信息, 里面基本的东西都介绍了.)

./configure --prefix=PATH/python-2.7.12/python2 --enable-optimizations CFLAGS=-fPIC CXXFLAGS=-fPIC

安装OpenCV的错误信息:

libpython2.7.a(abstract.o): relocation R_X86_64_32S against `_Py_NotImplementedStruct' can not be used when making a shared object; recompile with -fPIC. 

要重新安装python-2.7.12. 要安装共享版本的, 但是configure时不能指定–enable-shared, 这样在make install后python2/lib下回生成libpython2.7.a, libpython2.7.so.1.0. 但是libpython2.7.so.1.0是不能用的, 因此在命令行执行python时会出错, libpython2.7.so.1.0这个文件只是一个副本, 并不是python2的共享库文件. 将-fPIC参数在configure时加上即可:

./configure --prefix=PATH/python-2.7.12/python2 --enable-optimizations CFLAGS=-fPIC CXXFLAGS=-fPIC

一个是gcc的参数, 一个是g++的参数. 这样在make install后lib下会生成libpython2.7.a, libpython2.7.so.1.0, libpython2.7.so. libpython2.7.so是一个共享的, 带有”快捷箭头的文件和文件夹都可以看做是共享的”.
因此要想让编译的库或者文件是共享文件, 在gcc或g++编译或configure时指定CFLAGS=-fPIC CXXFLAGS=-fPIC即可.

执行完上述之后, 屏幕输出:
configure: WARNING: unrecognized options: –enable-optimizations
creating Modules/Setup
creating Modules/Setup.local
creating Makefile
发现optimizations是不识别的选项, 但只是警告. 编译也可通过, 只要生成Makefile文件即可.
5)make -j12 && make install
在make过程中如果没有报错, 就可以. 在python2下生成bin, inlcude, lib文件夹代表安装成功.
6)
可以通过设置环境变量PATH指定python2的路径:

export PATH=PATH/python-2.7.12/python2/bin/:$PATH

这样在~下的任意路径均可以使用python2. 这种方式设置的环境变量只是临时变量, 可以通过修改.bashrc中的PATH环境变量来指定python2的路径:

[~]$ vi .bashrc
在.bashrc加入export PATH=PATH/python-2.7.12/python2/bin/:$PATH

重启shell或者source .bashrc即可生效.
另外, python-2.7.12安装只安装python, 并不安装第三方库.

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值