到python官網下載python3.5.7
https://www.python.org/downloads/release/python-357/
將文件傳到linux上,通過tar指令解壓,重命名為python3,這樣安裝的話,壓縮文件在哪里,解壓后的文件就會在哪里。可以在python3前面加入/usr/local 之類的路徑,改變解壓文件的路徑。
tar -zxvf Python-3.5.7.tgz python3
正式安裝之前先下載一些必需的包,否則會報很多錯誤,已經報錯誤的,可以刪除python之后下載必需的包,然后重新安裝。
yum -y install zlib zlib-devel yum -y install bzip2 bzip2-devel yum -y install ncurses ncurses-devel yum -y install readline readline-devel yum -y install openssl openssl-devel yum -y install openssl-static yum -y install xz lzma xz-devel yum -y install sqlite sqlite-devel yum -y install gdbm gdbm-devel yum -y install tk tk-devel yum -y install libffi libffi-devel
安裝完成后,進入文件夾,配置編譯 --prefix=后跟的是python安裝路徑,其他不用變,因為yum是默認安裝
cd python3
./configure --prefix=/usr/python3 --enable-shared CFLAGS=-fPIC
然后
make
make install
完成后進入
cd /usr/bin
然后創建軟鏈接
ln -s /usr/python3/bin/python3.5 /usr/bin/python3
ln -s /usr/python3/bin/pip3 /usr/bin/pip3
這時候輸入python3
這時候已經完成安裝。
可能會提示
python3.5: error while loading shared libraries: libpython3.5m.so.1.0: cannot open shared object file: No such file or directory
原因是因為python運行時沒有加載到libpython3.5m.so.1.0 這個庫文件 將其復制到響應目錄OK
解決方法:
cd /usr/local/python 進入解壓后的編譯目錄
cp libpython3.5m.so.1.0 /usr/local/lib64/
cp libpython3.5m.so.1.0 /usr/lib/
cp libpython3.5m.so.1.0 /usr/lib64/
pip出錯
No such file or directory
因為我刪除過一個版本的python 但是pip仍然關聯着刪除的這一版本 我的解決方法是
find / -name pip 查一下pip在哪兒 沒找到 但是通過 type pip 仍然關聯着刪除的這一版本 hash -r 解決這一問題
如果還解決不了,可以到pip3文件里看看 vim pip3 #!后面的語句會影響pip運行 可以看一看這一語句顯示的文件位置是否正確
type pip
hash -r