1、 從Python官網到獲取Python3的包, 切換到目錄/usr/local/srchtml
wget https://www.python.org/ftp/python/3.5.1/Python-3.5.1.tar.xz
2、 使用命令以下命令進行解壓縮:python
xz -d Python-3.5.1.tar.xz // 將xz文件解壓 tar -xf Python-3.5.1.tar
3、 在/usr/local路徑下建立目錄--python3.5, 爲第4步的安裝目錄docker
1 mkdir /usr/local/python3.5
4、 編譯安裝vim
1 $cd /usr/local/src/Python-3.5.1 2 #./configure --prefix=/usr/local/python3.5 3 #make all 4 #make install 5 #make clean 6 #make distclean
5、 檢查是否安裝成功centos
1 /usr/local/python3.5/bin/python3.5 -V 2 Python 3.5.1
6、查看環境變量,啓動python時默認按照PATH的順序進行查找,在/usr/bin中的python此時爲Python2.6.6的ide
1 $echo $PATH 2 /usr/lib/qt-3.3/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/gordon/bin
7、修改軟鏈接,啓動python時指向python3.5url
一、備份pythonspa
mv /usr/bin/python /usr/bin/python2.6.6 // 備份centos中默認2.6.6的python
二、修改軟鏈接code
1 ln -s /usr/local/python3.5/bin/python3 /usr/bin/python
三、 驗證默認是否啓動python3.5htm
1 $ python -V 2 Python 3.5.1
8、此時,系統中的yum命令將不能使用,由於其依賴原來的python2.6.6 修改yum的第一行:
1 vim /usr/bin/yum 2 #!/usr/bin/python2.6.6
可能還須要修改該路徑下的第一行
vim /usr/libexec/urlgrabber-ext-down 將 #! /usr/bin/python 改爲 #!/usr/bin/python2.6.6
遇到的錯誤:
升級了python以後,須要從新安裝pip命令。要否則pip安裝的路徑會出錯。(由於以前安裝python的時候,可能設置--prefix參數),最好是用源碼安裝的方式從新安裝(http://www.cnblogs.com/hoojjack/p/8672612.html)
一、pip 錯誤
1 [root@docker Python-3.5.1]# pip 2 Traceback (most recent call last): 3 File "/usr/bin/pip", line 7, in <module> 4 from pip._internal import main 5 ImportError: No module named 'pip._internal'
說明pip的映射文件沒有安裝正確,在安裝python3.5時,默認會安裝pip3.5
備份原來系統默認的:mv /usr/bin/pip /usr/bin/pip_bak,建立pip3.5的軟連接 ln -s /usr/local/bin/pip3.5 /usr/bin/pip
1 [root@docker local]# mv /usr/bin/pip /usr/bin/pip_bak 2 [root@docker local]# ln -s /usr/local/bin/pip3.5 /usr/bin/pip 3 [root@docker local]# pip 4 5 Usage: 6 pip <command> [options]
二、You are using pip version 7.1.2, however version 10.0.1 is available.You should consider upgrading via the 'pip install --upgrade pip' command.
1 [root@docker local]# pip install --upgrade pip
三、升級後,交互模式下方向鍵、退格鍵 Backspace 等出現亂碼的問題。
yum install readline readline-devel
若是發現系統中已經有readline 庫了,只是在/lib64/目錄中,因而乎,作了軟鏈到/usr/lib/ 和 /usr/lib64/
1 ln -s /lib64/libreadline.so.6 /usr/lib/ 2 3 ln -s /lib64/libreadline.so.6 /usr/lib64/ 4 5 ln -s /lib64/libreadline.so.6.0 /usr/lib/
6 7 ln -s /lib64/libreadline.so.6.0 /usr/lib64/
從新編譯安裝一遍python35,問題能夠解決。