天天看點

python35 編譯時,缺少zlib、ssl庫解決方案

我在安裝python時,整個過程都是非常順利。

安裝python後,基本的使用都是沒有問題的,當我想使用pip安裝子產品時費了好大的周折,就是因為在安裝python時缺少了一些子產品,導緻一些功能是沒法使用的,為了讓大家避免因為我這樣類似的問題而困擾,特意記錄下來。

我是直接從官網下載下傳了python35的源碼包安裝的,主要是4步完成

檢測配置 [./configure --enable-shared  --prefix=$home/apps/python35]

編譯    make

安裝    make install

配置環境變量 修改.bash_profile

實際在編譯後,就可以看到提示,缺少哪些子產品,如下圖:

python35 編譯時,缺少zlib、ssl庫解決方案

注:因為我是已經将zlib安裝上了,是以這裡沒有zlib 實際也是有zlib的 

先看看zlib我是怎麼解決的。

1. 使用指令【rpm -qa | grep zlib】檢視是否有軟體包,我的是存在的是以我直接執行了下面的指令安裝上了zlib

2. 【yum -y install zlib*】 要求有root權限

這樣子就解決了這個問題,不能安裝setuptools的問題   

我不确定其他的庫是否也有影響,但是我看到ssl和readline比較眼熟,是以我都安裝上了,具體步驟如下:

python35 編譯時,缺少zlib、ssl庫解決方案
python35 編譯時,缺少zlib、ssl庫解決方案

再次make檢視,_ssl已經存在了 

python35 編譯時,缺少zlib、ssl庫解決方案

#修改setup檔案

vi /usr/software/python-2.7.5/modules/setup

#修改結果如下:

# socket module helper for socket(2)

_socket socketmodule.c timemodule.c

# 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 安裝,就解決了。