1.安裝python3
1.1下載python源碼包
網址:https://www.python.org/downloads/release/python-362/java
下載地址:https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tgzpython
1.1.1安裝python前的庫環境,很是重要
yum install gcc patch libffi-devel python-devel zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel -y
1.2下載,解壓安裝源碼包
一、configure
這一步通常用來生成 Makefile,爲下一步的編譯作準備,你能夠經過在 configure 後加上參數來對安裝進行控制,好比代碼:linux
./configure --prefix=/usr
上面的意思是將該軟件安裝在 /usr 下面,執行文件就會安裝在 /usr/bin (而不是默認的 /usr/local/bin),資源文件就會安裝在 /usr/share(而不是默認的/usr/local/share)。c++
同時一些軟件的配置文件你能夠經過指定 --sys-config= 參數進行設定。有一些軟件還能夠加上 --with、--enable、--without、--disable 等等參數對編譯加以控制,你能夠經過容許 ./configure --help 察看詳細的說明幫助。golang
二、make
這一步就是編譯,大多數的源代碼包都通過這一步進行編譯(固然有些perl或python編寫的軟件須要調用perl或python來進行編譯)。sql
若是 在 make 過程當中出現 error ,你就要記下錯誤代碼(注意不單單是最後一行),而後你能夠向開發者提交 bugreport(通常在 INSTALL 裏有提交地址),或者你的系統少了一些依賴庫等,這些須要本身仔細研究錯誤代碼。vim
make 的做用是開始進行源代碼編譯,以及一些功能的提供,這些功能由他的 Makefile 設置文件提供相關的功能,好比 make install 通常表示進行安裝,make uninstall 是卸載,不加參數就是默認的進行源代碼編譯。bash
make 是 Linux 開發套件裏面自動化編譯的一個控制程序,他經過藉助 Makefile 裏面編寫的編譯規範進行自動化的調用 gcc 、ld 以及運行某些須要的程序進行編譯的程序。通常狀況下,他所使用的 Makefile 控制代碼,由 configure 這個設置腳本根據給定的參數和系統環境生成。ide
三、make install
這條命令來進行安裝(固然有些軟件須要先運行 make check 或 make test來進行一些測試),這一步通常須要你有 root 權限(由於要向系統寫入文件)post
安裝python3具體步驟:
1.下載python3源碼,選擇3.6.7由於ipython依賴於>3.6的python環境
下載在/opt/文件夾下面
wget https://www.python.org/ftp/python/3.6.7/Python-3.6.7.tar.xz
2.解壓縮源碼包,去除xz後綴
xz -d Python-3.6.7.tar.xz
3.解壓縮源碼包,去除.tar後綴
tar -xf Python-3.6.7.tar
4.解決編譯安裝python3所需的軟件依賴 ******** 很重要
備註:解決這些依賴關係後期才能正常運轉python3.6,
若是不解決,會出現各類報錯信息,此時還得從新編譯python3.6
看上面安裝連接
5.開始進行編譯安裝
分爲三部曲
1.調用源碼包路徑底下的configure這個腳本文件
./configure --prefix=/opt/python36/
指定軟件安裝的位置/opt/python36 下面
2.執行make指令,開始編譯 (此步驟還不會生成/opt/python36這個文件夾)
#這個編譯是個什麼鬼?
-翻譯 python解釋器是對代碼進行一行一行的翻譯,而且轉化成機器碼去執行
print('hello world ')
python 腳本.py
-編譯 ,編譯型的語言,在運行代碼以前,有一個編譯的過程,(將代碼,編譯轉化成一個二進制文件)
- c
- c++
- java
- golang
main.go
fmt.Println('hello world')
go run main.go
go build main.go #編譯生成一個可執行命令
-在window底下 生成一個 main.exe
- main
3. make install 安裝軟件 (此步纔是安裝軟件的過程)
-纔會生成一個 /opt/python36這個軟件安裝路徑
make install
6.編譯安裝ok,沒有報錯後,就能夠正常使用python3了
7.快捷使用python3.6的方式
如下配置方式,二選一,請你選path配置
1.軟鏈接(這一步很麻煩,而且不適用於virtualenv的建立)
ln -s /opt/python36/bin/python3.6 /usr/bin/python3 #可是這一步尚未pip
ln -s /opt/python36/bin/pip3 /usr/bin/pip3
2.環境變量的配置
1.echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
2.配置python36的目錄,加入環境變量
強調!!!
強調!!!
強調!!!
由於path的路徑查找是有優先級順序的!!!
而且在配置virtualenv的時候,優先以先找到的python環境爲base環境
#請將python36的目錄放到path的第一層
/opt/python36/bin/:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:
3.配置環境變量,永久生效,寫入到文件/etc/profile中,每次登陸就生效
vim /etc/profile #將此配置寫到最低行
PATH=/opt/python36/bin/:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
source /etc/profile #讀取這個文件,讓python3生效
8.此時能夠正確使用python3啦!
#yum install gcc -y
./configure --prefix=/opt/python make && make install
---------------------
用python查看默認安裝路徑
>>> import sys
>>> sys.path
['', '/usr/local/lib/python36.zip', '/usr/local/lib/python3.6',
'/usr/local/lib/python3.6/lib-dynload', '/usr/local/lib/python3.6/site-packages']
--------------------
python3.4默認沒添加path
在/etc/profile最後一行添加
export PATH=$PATH:/opt/python/bin
而後
source /etc/profile
#python快捷path就被改了,yum用的python2,麻煩
1.2.3 牛逼的python Tab自動補全
下載setuptool 3.4以上已經默認安裝了easy_install-3.4
下載地址: https://pypi.python.org/pypi/setuptools/36.2.7 下載命令: wget https://pypi.python.org/packages/07/a0/11d3d76df54b9701c0f7bf23ea9b00c61c5e14eb7962bb29aed866a5844e/setuptools-36.2.7.zip#md5=b9e6c049617bac0f9e908a41ab4a29ac 解壓: unzip setuptools-36.2.7.zip 編譯: python3 setup.py build python2 setup.py build 無誤後安裝: python3 setup.py install python2 setup.py install
下載readline
#yum install -y readline-devel -y
#pip install readline
tab補全
#python startup file
import readline,rlcompleter
#tab completion
readline.parse_and_bind('tab:complete')
----------------------------
python歷史記錄
#history file
import os
history_file = os.path.join(os.environ["HOME"],".pythonhistory")
[root@mm_local ~]# echo "export PYTHONSTARTUP='/root/.pythonstartup'" >> /root/.bashrc [root@mm_local ~]# source /root/.bashrc [root@mm_local ~]# cat /root/.pythonstartup import os import readline import rlcompleter import atexit #tab completion readline.parse_and_bind("tab: complete") #history file history_file = os.path.join(os.environ["HOME"],".pythonhistory") try: readline.read_history_file(history_file) except IOError: pass atexit.register(readline.write_history_file,history_file) del os,history_file,readline,rlcompleter [root@mm_local ~]# python Python 2.7.3 (default, Jun 5 2013, 22:40:26) [GCC 4.4.6 20110731 (Red Hat 4.4.6-3)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import sys >>> sys.path<tab> #按tab鍵就能夠自動補全了 [root@mm_local ~]# python >>> >>> sys.path #按上下方向鍵便可找到歷史命令
加入python的啓動環境變量,永久生效自動補全
只須要啓動時執行一條命令便可 import rlcompleter, readline readline.parse_and_bind('tab:complete') 能夠將上述的代碼存於~/.pythonrc.py文件中。 而後,在~/.bashrc中設置 export PYTHONSTARTUP=~/.pythonrc.py 這樣,每次啓動終端,bash就會設置PYTHONSTARTUP這個環境變量,而後,python啓動時就會使用這個變量指定的文件中的初始化代碼。 在python解釋器中,輸入一個變量的一部分,或者變量後面加句點,再按TAB鍵就能夠看到自動補全的威力。