在python3.5中使用pip


我centos7上同時有python2.7和python3.5。現在希望能在使用python3.5時也能用pip。本來這應該是很容易的一件事,然而我一步步掉進坑里。。

官網安裝pip的方法是,https://pip.pypa.io/en/stable/installing/

於是我執行了

wget https://bootstrap.pypa.io/get-pip.py
python3.5 get-pip.py

報錯 zipimport.ZipImportError: can't decompress data; zlib not available

一頓google,把這兩個鏈接里的包都安裝上好了

http://askubuntu.com/questions/661039/trouble-with-zip-support-in-custom-python-build-zipimport-zipimporterror-cant

https://stackoverflow.com/questions/37723236/pip-error-while-installing-python-ignoring-ensurepip-failure-pip-8-1-1-requir/37723517#37723517

1.安裝zlib

yum install -y zlib
yum install -y zlib-devel
yum install zlib-devel bzip2-devel sqlite sqlite-devel openssl-devel

2.重新編譯安裝python3.5

/usr/local/lib是之前python3.5的安裝路徑,使用altinstall增量安裝,因此zlib安裝路徑要和之前的安裝路徑保持一致

./configure --with-zlib-dir=/usr/local/lib
make
make altinstall

使用下面的語句確保沒有報錯了

python3.5 -m ensurepip

檢查一下,現在的情況如下圖。這么說,pip裝好了,python2.7和3.5應該都可以用pip了。

What! 為什么還是不能用??

后來發現wget也用不了。。懷疑是機器本身網絡有問題!

找了雲主機的網絡管理員幫忙檢查,在開通了防火牆所有進出端口之后,wget好了!pip install好了一半,如下:

 啊!每次以為終於要通關了,卻還有新的一關,淚目啊!

我決定先把readline源碼包下載了再說,於是:(使用-i指定國內的pip源,下載快啊)

(其實沒裝pip也完全可以下載啊,找到對應版本包去wget下來就好了嘛)

python3.5 -m pip download readline -i https://pypi.doubanio.com/simple

咱自己編譯安裝吧,像這樣安裝python第三方源碼包:

tar -xf readline-6.2.4.1.tar.gz
cd readline-6.2.4.1
python setup.py install     #這句最關鍵

然而還是報錯啊,跟之前pip install報錯內容一樣的。於是又google了一下,參考了這個http://stackoverflow.com/questions/22166277/gcc-error-when-im-trying-to-install-readline-6-2

安裝了這些:

yum install -y patch
yum install -y readline-devel   #這個連帶裝了依賴包ncurses-dev

再次編譯安裝

python setup.py install

終於安裝上了!使用pip list可以列出所有已安裝的第三方python包(只包括被pip收錄的那些)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM