使用virtualenv創建Python3.7虛擬環境時報錯ModuleNotFoundError: No module named '_ctypes'的解決方法

使用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版本

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章