安裝不同版本的python包 && python3.6編譯安裝后使用時報錯ImportError:libpython3.6m.so.1.0:cannot open shared object file:No such file or directory
find / -name "libpython3.6m.so.1.0"
找得到的話,
# 進(jìn)入Python源碼編譯目錄
cd /path/to/Python-3.6.x
# 復(fù)制庫文件到系統(tǒng)目錄
sudo cp libpython3.6m.so.1.0 /usr/lib64/
sudo cp libpython3.6m.so.1.0 /usr/local/lib/
# 確認(rèn)動態(tài)庫加載
ldd $(which python3.6) | grep libpython3.6m

找不到的話,重新編譯時添加--enable-shared和--prefix參數(shù):
./configure --enable-shared --prefix=/usr/local/python3.6
make && sudo make install
/usr/local/python3.6/lib/會生成,再執(zhí)行復(fù)制庫文件到系統(tǒng)目錄并確認(rèn)動態(tài)庫加載
路徑隔離安裝不同版本的python包
# 1. 下載源碼包 (以Python 3.8和3.11為例)
wget https://www.python.org/ftp/python/3.8.12/Python-3.8.12.tgz
wget https://www.python.org/ftp/python/3.11.4/Python-3.11.4.tgz
# 2. 解壓并編譯安裝到獨立目錄
tar -zxvf Python-3.6.8.tgz
cd Python-3.6.8
./configure --prefix=/usr/local/python3.6 # 關(guān)鍵:指定獨立路徑:ml-citation{ref="2,6" data="citationList"}
make && sudo make install
cd ..
tar -zxvf Python-3.11.4.tgz
cd Python-3.11.4
./configure --prefix=/usr/local/python3.11 # 路徑隔離:ml-citation{ref="11,22" data="citationList"}
make && sudo make install
# 3. 創(chuàng)建版本專屬命令別名
sudo ln -s /usr/local/python3.6/bin/python3.6 /usr/bin/python36
sudo ln -s /usr/local/python3.11/bin/python3.11 /usr/bin/python311
# 離線安裝依賴時
python36 -m pip install --no-index --find-link=pkg_path paramiko --target=/usr/local/python3.6/lib/python3.6/site-packages
# 虛擬環(huán)境隔離
# 創(chuàng)建虛擬環(huán)境 kk_env
python36 -m venv kk_env
#激活,source執(zhí)行后,執(zhí)行pip就自動使用環(huán)境內(nèi)的pip
source env/bin/activate

# deactivate命令退出虛擬環(huán)境


# 虛擬環(huán)境的依賴安裝路徑


浙公網(wǎng)安備 33010602011771號