centos7離線安裝pthon3.8
因服務器無外網環境,所以事先需要把所有離線的依賴都準備好。
安裝前的準備
先在有外網環境的機器上準備依賴
- 安裝 centos-release-scl 第三方yum源
yum install centos-release-scl
- 安裝 yum 依賴下載插件
yum install yum-plugin-downloadonly
- 下載 Python 及 Yum 依賴
# 下載 python 源碼
wget https://www.python.org/ftp/python/3.8.5/Python-3.8.5.tgz# 下載依賴, python_dependencies 為保存的目標文件夾
yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel libffi-devel --downloadonly --downloaddir=python_dependencies
- 下載并保存高版本GCC
yum install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils --downloadonly --downloaddir=redis_dependencies
- 下載 Python 模塊依賴
# 導出使用的依賴
pip freeze > requirements.txt# 建議在導出后,將 pip,wheel,setuptools 手動寫入到 requirements 文件中。# 下載, -d 為目標文件夾
pip download -d mylib -r requirements.txt
開始Python 離線安裝
在離線服務器上操作:
- 離線安裝 Yum 依賴(需 root)
rpm -Uvh --force --nodeps ./python_dependencies/*.rpm
rpm -Uvh --force --nodeps ./redis_dependencies/*.rpm
- 啟用高版本 GCC(為了在編譯時執行 --enable-optimizations, GCC 安裝可參見 Gcc 安裝)
scl enable devtoolset-9 bash
gcc -v
- 解壓 Python 源碼
tar -zxf Python-3.8.5.tgz -C /home/user/app/python3
- 配置 make 文件, 指定可執行文件目錄:
cd /home/user/app/python3/Python-3.8.5
./configure prefix=/home/user/app/python3 --enable-optimizations
- 執行編譯:
make
- 執行安裝
make install
- 進入到 /home/user/app/python3/bin 目錄下,執行 python3 看是否成功
./python3 --version
- 配置環境變量,source 后生效:
vim ~/.bash_profile
export PYTHON3_PATH=/home/user/app/python3
export PATH=$PYTHON3_PATH/bin:$PATH
source ~/.bash_profile
導入離線依賴
pip3 install --no-index --find-links=./mylib -r requirements.txt # 使用離線安裝包,安裝指定文件內的內容
常見問題
在使用pip時,如果遇到一下錯誤,請建立虛擬環境
cd /home/user/app/python3
#創建虛擬環境
python3 -m venv tutorial-env
#激活虛擬環境
source tutorial-env/bin/activate
#退出虛擬環境
deactivate