当前位置: > CentOS > CentOS教程 >

Centos 上升级python到2.7.6

时间:2014-03-07 20:55来源:linux.it.net.cn 作者:IT网

1升级原因:

Centos 上python 交互模式下,回车和上下左右方向键不起作用,出现乱码。原因是当时make python 的时候 没有 安装 readline-devel 可以使用 yum install,安装这个moudle之后便可以重新make python,重新 install 一下。

2升级的过程:

  1. Yum intall readline-devel

  2. 下载python的 源码包

  3. In python-source_code , .

wget http://python.org/ftp/python/2.7.6/Python-2.7.6.tar.xz
tar xf Python-2.7.6.tar.xz
cd Python-2.7.6
sudo ./configure --prefix=/usr/local --enable-unicode=ucs4
 --enable-shared LDFLAGS="-Wl,-rpath /usr/local/lib"
make && make altinstall

3,升级遇到的问题:


  /usr/bin/ld: /usr/local/lib/libpython2.7.a(abstract.o): relocation R_X86_64_32 against `.rodata.str1.8' can not be used when making a shared object; recompile with -fPIC /usr/local/lib/libpython2.7.a: could not read symbols: Bad value

造成问题的原因是:之前的老的python 遗留下/usr/local/lib/libpython2.7.a这个静态库,新的python在编译动态库的时候,却偏偏扫描老的地方。

解决方法:

将python_source_code路径下的setup.py 中 440,441行的代码注释掉

 #add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib')

#add_dir_to_list(self.compiler.include_dirs, '/usr/local/include' )

然后make

如果还不起作用,可以先

sudo  mv /usr/local/lib/libpython2.7.a /tmp

这样在编译的时候就不会出现以上错误。

(责任编辑:IT)
------分隔线----------------------------
栏目列表
推荐内容