CentOS 源碼編譯安裝 Python3

準備

yum -y install wget gcc make libffi-devel zlib-devel readline-devel bzip2-devel ncurses-devel sqlite-devel gdbm-devel xz-devel tk-devel openssl-develhtml

說明:python

yum install wget gcc make readline-devel
# 解決 import bz2 報錯
yum install  bzip2-devel
# 解決 import curses 報錯
yum install  ncurses-devel
# 解決 import sqlite3 報錯
yum install sqlite-devel
# 解決 _dbm _gdbm 缺失提醒
yum install gdbm-devel
# 解決 _lzma 缺失提醒
yum install xz-devel
# 解決 _tkinter 缺失提醒
yum install tk-devel
# 解決 readline 缺失提醒及方向鍵行爲非預期的問題
yum install readline-devel
yum install zlib-devel
# 解決ImportError: No module named '_ctypes' 錯誤
yum install libffi-devel

Python官網下載sql

wget https://www.python.org/ftp/python/3.7.1/Python-3.7.1.tar.xz # 下載
xz -d Python-3.7.1.tar.xz
tar -xvf Python-3.7.1.tar # 解壓縮

過程

配置

cd Python-3.7.1
./configure --prefix=/usr/local/python3.7 --enable-optimizations

--prefix指定了預期安裝目錄 --enable-optimizations優化選項bootstrap

生成了Makefile文件,這個過程不會自動建立/usr/local/python3.7目錄。vim

編譯

# 依然在Python-3.7.1目錄下
make -j8

安裝

make install

/usr/local/python3.7目錄被建立了,執行安裝。centos

環境配置

ln -s /usr/local/python3.7/bin/python3 /usr/bin/python3
ln -s /usr/local/python3.7/bin/pip3 /usr/bin/pip3

卸載

若是養成好的習慣,使用了--prefix參數,那麼僅須要刪除對應文件夾,去除相關環境變量便可。不然須要進入源碼的src文件夾下,執行make uninstallcurl

補充

安裝好以後,輸入python3便可使用,pip3也能夠使用。發現機器自己自帶的python2對應的pip沒法使用,因而從新安裝一下pip優化

curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python get-pip.py

參考:

相關文章
相關標籤/搜索