1.首先是安装前的准备工作:
由于安装过程中用到gcc 所以安装Development tools
命令:
yum groupinstall "Development tools"
提前安装python依赖包
命令:
yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel
由于安装过程中用到gcc 所以安装Development tools
命令:
yum groupinstall "Development tools"
提前安装python依赖包
命令:
yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel
2.安装python
下载python,如果想要安装最新的可以到
https://www.python.org/ftp/python/这个网址找
wget https://www.python.org/ftp/python/2.7.11/Python-2.7.11.tgz
tar vxf Python-2.7.11.tgz
cd Python-2.7.11.tgz
./configure --enable-shared --prefix=/usr/local
make && make install
注意: 如果编译时加上了--enable-shared,才会编译这个共享库 要是不加运行程序的时候提示找不到这个共享库。
如果忘记加--enable-shared这个参数会导致运行的时候提示找不到lib库。
python: error while loading shared libraries: libpython2.7.so.1.0: cannot open shared object file: No such file or directory
(1)编辑 vi /etc/ld.so.conf
非root权限帐号登录,使用 sudo vi /etc/ld.so.conf 命令
添加上python2.7的lib库地址,如我的/usr/local/python27/lib,保存文件
(2)执行 /sbin/ldconfig -v命令,如果不是root权限帐号登录,就使用 sudo /sbin/ldconfig -v。这样 ldd 才能找到这个库,执行python2.7得时候就不会报错了
/etc/ld.so.conf:
这个文件记录了编译时使用的动态链接库的路径。
默认情况下,编译器只会使用/lib和/usr/lib这两个目录下的库文件
就像我指定了,/usr/local ,没有指定 --prefix=/usr 这样lib库就装到了/usr/local下,而又没有在/etc/ld.so.conf中添加/usr/local/lib,就会报错了,
下载python,如果想要安装最新的可以到
https://www.python.org/ftp/python/这个网址找
wget https://www.python.org/ftp/python/2.7.11/Python-2.7.11.tgz
tar vxf Python-2.7.11.tgz
cd Python-2.7.11.tgz
./configure --enable-shared --prefix=/usr/local
make && make install
注意: 如果编译时加上了--enable-shared,才会编译这个共享库 要是不加运行程序的时候提示找不到这个共享库。
如果忘记加--enable-shared这个参数会导致运行的时候提示找不到lib库。
python: error while loading shared libraries: libpython2.7.so.1.0: cannot open shared object file: No such file or directory
(1)编辑 vi /etc/ld.so.conf
非root权限帐号登录,使用 sudo vi /etc/ld.so.conf 命令
添加上python2.7的lib库地址,如我的/usr/local/python27/lib,保存文件
(2)执行 /sbin/ldconfig -v命令,如果不是root权限帐号登录,就使用 sudo /sbin/ldconfig -v。这样 ldd 才能找到这个库,执行python2.7得时候就不会报错了
/etc/ld.so.conf:
这个文件记录了编译时使用的动态链接库的路径。
默认情况下,编译器只会使用/lib和/usr/lib这两个目录下的库文件
就像我指定了,/usr/local ,没有指定 --prefix=/usr 这样lib库就装到了/usr/local下,而又没有在/etc/ld.so.conf中添加/usr/local/lib,就会报错了,