centos 默认是2.4版本的python,重新安装python为2.7版本,碰到的问题
看完记录之后才去安装
Zlib 模块
上面的错误提示缺少zlib 库,实际上我们在上面编译安装Python结束时就应该出现了这个提示:
Python build finished, but the necessary bits to build these modules were not found:
_bsddb _curses _curses_panel _sqlite3 _ssl _tkinter bsddb185 bz2 dbm gdbm readline sunaudiodev zlib
需要启用zlib模块需要然后重新编译一下Python源码安装包:
cd /opt/Python-2.7.2
vi Modules/Setup
搜索zlib,去掉 #zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz 前面的注释。
./configure
make
又出现错误提示:
./Modules/zlibmodule.c:112: error: ‘compobject’ has no member named
make: *** [Modules/zlibmodule.o] Error 1
Update:上面安装zlib的方法失败,原来Python 2.7得先安装zlib库:
cd /opt/Python-2.7.2/Modules/zlib
./configure make && make install
然后再重新编译安装python,也不用再编辑去掉Modules/Setup文件中的#zlib zlibmodule.c 的注释。
测试一下,无错误提示:
python2.7 >>> import zlib >>> exit()
urllib2.URLError: <urlopen error unknown url type: https>
python没有SSL模块,需重新编译安装python。步骤如下
①安装openssl与openssl-devel包
yum install openssl
yum install openssl-devel
②进入python源代码文件夹,进入Modules文件夹,
vim Setup.dist
修改
# Socket module helper for SSL support; you must comment out the other
# socket line above, and possibly edit the SSL variable:
#SSL=/usr/local/ssl
#_ssl _ssl.c \
# -DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \
# -L$(SSL)/lib -lssl -lcrypto
为
# Socket module helper for SSL support; you must comment out the other
# socket line above, and possibly edit the SSL variable:
SSL=/usr/local/ssl
_ssl _ssl.c \
-DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \
-L$(SSL)/lib -lssl -lcrypto
③重新安装python
./configure
make all
make install