1. 程式人生 > 其它 >centos7安裝python3 以及tab補全功能

centos7安裝python3 以及tab補全功能

技術標籤:技術

centos7安裝python3 以及tab補全功能

1.安裝python3

1.1下載python原始碼包

網址:https://www.python.org/downloads/release/python-366/

下載地址:https://www.python.org/ftp/python/3.6.6/Python-3.6.6.tgz

編譯安裝python3.6的步驟

1.下載python3原始碼包
2.下載python3編譯的依賴包
3.解壓縮原始碼包 
4.進入原始碼包資料夾 
5.編譯且安裝
    1.進入原始碼包目錄
    2.  ls檢視原始碼包內容
    
3. 釋放編譯檔案 Makefile 4.編譯 5.編譯安裝,此步才會最終生成 /opt/python36/ 6.進入/opt目錄檢視python36資料夾,我們要的python3都在這裡了 6.更改linux的path變數,新增python3 一定要將python3的目錄放在第一位 為了永久生效path設定,新增到/etc/profile全域性環境變數配置檔案中 過載配置檔案/etc/profile 7.安裝django模組 8.檢視當前直譯器的python模組有哪些
編譯安裝python3.6的步驟

1.1.1安裝python前的庫環境,非常重要

yum install -y 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

1.2下載,解壓安裝原始碼包

tar -xvf Python-3.6.6.tgz  
cd  Python-3.6.6  # 進入原始碼包資料夾

1、configure

這一步一般用來生成 Makefile,為下一步的編譯做準備,你可以通過在 configure 後加上引數來對安裝進行控制,比如程式碼:

./configure--prefix=/usr

上面的意思是將該軟體安裝在 /usr 下面,執行檔案就會安裝在 /usr/bin (而不是預設的 /usr/local/bin),資原始檔就會安裝在 /usr/share(而不是預設的/usr/local/share)。

同時一些軟體的配置檔案你可以通過指定 --sys-config= 引數進行設定。有一些軟體還可以加上 --with、--enable、--without、--disable 等等引數對編譯加以控制,你可以通過允許 ./configure --help 察看詳細的說明幫助。

2、make

這一步就是編譯,大多數的原始碼包都經過這一步進行編譯(當然有些perl或python編寫的軟體需要呼叫perl或python來進行編譯)。

如果 在 make 過程中出現 error ,你就要記下錯誤程式碼(注意不僅僅是最後一行),然後你可以向開發者提交 bugreport(一般在 INSTALL 裡有提交地址),或者你的系統少了一些依賴庫等,這些需要自己仔細研究錯誤程式碼。

make 的作用是開始進行原始碼編譯,以及一些功能的提供,這些功能由他的 Makefile 設定檔案提供相關的功能,比如 make install 一般表示進行安裝,make uninstall 是解除安裝,不加引數就是預設的進行原始碼編譯。

make 是Linux開發套件裡面自動化編譯的一個控制程式,他通過藉助 Makefile 裡面編寫的編譯規範進行自動化的呼叫gcc、ld 以及執行某些需要的程式進行編譯的程式。一般情況下,他所使用的 Makefile 控制程式碼,由 configure 這個設定指令碼根據給定的引數和系統環境生成。

3、make install

這條命令來進行安裝(當然有些軟體需要先執行 make check 或 make test來進行一些測試),這一步一般需要你有 root 許可權(因為要向系統寫入檔案)

wget https://www.python.org/ftp/python/3.6.7/Python-3.6.7.tar.xz
xz -d Python-3.6.7.tar.xz
tar -xf Python-3.6.7.tar
#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,麻煩

# 嘗試安裝django來通過python3直譯器執行它
pip3 install -i https://pypi.douban.com/simple django==1.11.16

# 建立django專案與APP
django-admin startproject mysite
django-admin startapp app01

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歷史記錄
#historyfile
import os
history_file=os.path.join(os.environ["HOME"],".pythonhistory")
[[email protected]_local ~]# echo "export PYTHONSTARTUP='/root/.pythonstartup'" >> /root/.bashrc   
[[email protected]_local ~]# source /root/.bashrc  
[[email protected]_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  
[[email protected]_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鍵就可以自動補全了  
  
[[email protected]_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鍵就可以看到自動補全的威力。