使用virtualenv創建Python3.7.6版本虛擬環境時,遇到了標題中的報錯,記錄一下解決過程。
出現這種情況一般是因爲缺少依賴包libffi-devel
在安裝3.7以上版本時,需要一個新的libffi-devel包做依賴
使用yum安裝依賴
yum install libffi-devel -y
刪除之前安裝的報錯的虛擬環境目錄
rm -f venv
重新編譯安裝系統Python3.7.6(需要先找到安裝時的Python源碼包,cd到目錄中)
./configure --prefix=/usr/local/python3
make && make install
刪除之前建立的軟連接
rm -rf /usr/bin/python3
rm -rf /usr/bin/pip3
重新建立軟連接
ln -s /usr/local/python3/bin/python3.7 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3.7 /usr/bin/pip3
到此Python3重新安裝完成,可以用python3、pip3命令測試一下是否安裝成功。
進入虛擬目錄將要存放的目錄,使用新安裝的Python3創建虛擬環境。此處需要使用-p參數指定Python版本路徑,否則默認創建Python2的環境。
virtualenv -p /usr/bin/python3 venv
測試進入創建好的虛擬環境中
source venv/bin/activate
退出環境
deactivate
一些參考資料:
在已經安裝Python2的Linux系統中加入Python3
Linux安裝Python3.7.0
Linux創建虛擬環境指定python版本