源碼包安裝
Python官方沒有對Linux打包, 需要下載源碼包進行編譯.
可以自己下載最新版本的Python, 在Python下載頁面, 點擊Python3.x.x版本對應的Download, 在新頁面的Files下, 選擇Source release, 選擇Gzipped source tarball或者XZ compressed source tarball壓縮方式的包, 我選擇的是tgz壓縮.
下載源碼包
wget https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tgz
解壓
tar -xzvf Python-3.6.5.tgz
安裝依賴
yum install zlib zlib-devel libffi-devel -y
編譯
cd Python-3.6.5
./configure --prefix=/usr/local/src/python3.6 --enable-optimizations
make
make install
--enable-optimizations是優化選項(LTO,PGO等)加上這個flag編譯后,性能有10%左右的優化,但是這會明顯的增加編譯時間。
會安裝在/usr/local/python3.6, 在/bin下和/usr/local/bin下有python3.6的可執行文件, 如果做軟連接到python3, 在執行python3的時候會報錯.
使用源安裝
安裝ius源
# 依賴epel
yum install epel-release
yum install https://centos7.iuscommunity.org/ius-release.rpm
安裝Python
IUS軟件包的命名方式為軟件名+版本號+次版本號+u, Python的包名為python36u.
yum install python36u python36u-pip python36u-devel
安裝虛擬環境
pip3.6 install virtualenv virtualenvwrapper
編輯home目錄下的.bashrc或.zshrc(.zshrc是zsh的配置文件),
vi ~/.bashrc, 在文件最后添加($HOME/.virtual是虛擬環境的路徑, 自定義):
WORKON_HOME=$HOME/.virtual
source /usr/bin/virtualenvwrapper.sh
保存退出, 在shell中執行source .bashrc, 進入虛擬環境目錄cd ~/.virtual, 執行
virtualenv -p /usr/bin/python3.6 --no-site-packages py3
-p是生成指定python版本的虛擬環境, 是個路徑
--no-site-packages是不將系統Python的庫包復制到虛擬環境中.
py3是虛擬環境的名稱, 可以自定義
使用workon py3進入虛擬環境.
