一、安裝python
1、安裝依賴環境
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel
yum install zlib zlib-devel openssl
yum install openssl-devel -y
yum install libffi-devel -y
2、到官網下載下傳Python包
進入官網(https://www.python.org/)點選
downloads,再點選linux
選擇要下載下傳的版本包
或者使用wget方式下載下傳
wget https://www.python.org/ftp/python/3.9.1/Python-3.9.1.tgz
3、建立安裝目錄
mkdir -p /usr/local/python3.9
4、将下載下傳好的python包移到Linux下,然後解壓
tar -zxvf Python-3.9.1.tgz
5、進入解壓後的目錄,配置安裝環境
cd /usr/local/Python-3.9.1
./configure --prefix=/usr/local/python3.9/
--prefix 參數是指定安裝目錄為第3步建立的目錄
6、編譯并安裝
make && make install
7、配置環境變量
vi /etc/profile
在檔案最下面添加
export PYTHON_HOME=/usr/local/python3.9
export PATH=${PYTHON_HOME}/bin:$PATH
使得配置的環境變量立即生效
source /etc/profile
8、檢查是否安裝成功
二、安裝和使用遇到的問題
1、make install後提示:ModuleNotFoundError: No module named 'zlib'
解決方法:通過如下指令修複問題
yum install zlib zlib-devel openssl -y
修複問題後,重新執行編譯和安裝指令
./configure --prefix=/usr/local/python3.9/
make & make install
2、使用pip安裝時告警:WARNING: pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.
解決方法:通過如下指令修複問題
yum install openssl-devel -y
安裝完成後重新執行編譯和安裝
3、使用pip3安裝包時提示:ModuleNotFoundError: No module named '_ctypes'
解決方法:通過如下指令修複問題
yum install libffi-devel -y
安裝完成後重新執行編譯和安裝
三、安裝pip
如果python安裝成功我們通過下面指令是能檢視到pip的
whereis pip
如果确實沒有安裝pip3
可以通過下面方式進行安裝
yum install python3-pip
安裝後檢視
因為是通過yum安裝的pip3,是以pip3的安裝目錄不在python的安裝目錄下,此情況會産生一個問題:通過pip3安裝的包,在import時無法識别。
也就是說我們使用
python3
指令根本就無法導入
pip3
安裝的子產品,因為完全找不到這個目錄下。
解決這個問題有兩種思路:
- 修改下載下傳包的安裝目錄
- 将pip3安裝包的目錄 site-packages加入到環境變量中
修改下載下傳包的安裝目錄
通過建立python3.9的
site-packages 目錄的
軟鍊将pip3安裝包的目錄 site-packages 覆寫即可。
1 cd /usr/local/lib/python3.6
2 mv site-packages site-packages.bak
3 ln -s /usr/local/python3.9/lib/python3.9/site-packages site-packages
操作完成後,使用pip3 安裝的包全部安裝到 /usr/local/python3.9/lib/python3.9/site-packages 該目錄下。
将pip3安裝包的目錄 site-packages加入到環境變量中
在家目錄下 vi ~/.bashrc,在檔案最後加入下面代碼:
export PYTHONPATH=/usr/local/lib/python3.6/site-packages/:$PYTHONPATH
使檔案立即生效
source .bashrc
此時進入python3的互動模式通過sys.path就能檢視到 /usr/local/lib/python3.6 目錄加入到了python的環境變量中