人望山,魚窺荷,真正喜歡想要的,沒有一樣可以輕易得到。
目錄
# 1. 解決版本沖突問題--建議不要跳過(一定要查看軟鏈接是否鏈接正確)
# 2. python3(virtualenv)環境搭建
# 3. virtualenv常用命令
?# 4. 所遇錯誤解析
## 4.1? 遇到 No module named '_ssl'
## 4.2 錯誤"Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-w5?????? kib41y/virtualenvwrapper/"
## 4.3 找不到"pbr"包
# 1. 解決版本沖突問題--建議不要跳過(一定要查看軟鏈接是否鏈接正確)
python3安裝過程在之前的文章:Linux環境安裝Python3-CSDN博客
在安裝之前,先檢查自己的python版本(我使用的python3版本是3.6.1)
python --version
如果是以下 3開頭的版本就跳過此步驟
因為我的虛擬機含有兩個版本,所以牽涉到更換適用版本問題
- ①查看系統上對應的軟鏈接設置
????????上圖是我修改后的,如果/usr/bin/python指向的是/usr/bin/python3之外的路徑,則需要傷處原有的軟鏈接,讓python的軟鏈接直接指向python3。
- ②刪除鏈接
rm -rf /usr/bin/python
# rm會提示是否刪除該軟鏈接,直接輸入"y",再"enter"即可
軟鏈接指令:
# 創建軟鏈接
ln -s [源文件] [軟鏈接文件]
# 修改軟鏈接
ln –snf [新的源文件或目錄] [軟鏈接文件]
# 刪除軟連接--系統會提示"是否需要刪除"
rm ./軟鏈接名稱
# 無需系統確認直接刪除軟鏈接
rm –rf ./軟鏈接名稱
- ③創建新鏈接
ln -s /usr/bin/python3 /usr/bin/python
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3
- ④檢查軟鏈接是否指向了最新版本
ls -l /usr/bin/python*
查看若與以上圖片大致相同,則版本沖突解決
# 2. python3(virtualenv)環境搭建
- ①切換pip源,加快下載速度
mkdir ~/.pip
vim ~/.pip/pip.conf
# 內容:
[global]
index-url = https://mirrors.aliyun.com/pypi/simple/
[install]
trusted-host=mirrors.aliyun.com
- ②安裝virtualenv及virtualenvwrpper 及配置
安裝(必須使用Python3的pip去安裝
pip3 install virtualenv virtualenvwrapper
尋找virtualenvwrapper.sh路徑
find / -name virtualenvwrapper.sh
我的結果 /usr/local/python3/bin/virtualenvwrapper.sh (virtualenvwapper的路徑)
尋找virtualenv路徑
find / -name virtualenv
我的結果 /usr/local/python3/bin/virtualenv (virtualenv的路徑)
配置bashrc
vim ~/.bashrc
# 在空白部分添加:
export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
# 指定virtualenvwapper的路徑
source /usr/local/python3/bin/virtualenvwrapper.sh
# 剛剛查找的路徑
# 指定virtualenv的路徑
export VIRTUALENVWRAPPER_VIRTUALENV=/usr/local/python3/bin/virtualenv
如下圖:
使配置文件生效
source ~/.bashrc
以上python3的環境配置成功!
# 3. virtualenv常用命令
# 虛擬環境列表
workon 或 lsvirtualenv
# 新建虛擬環境
mkvirtualenv [虛擬環境名稱]
# 啟動/切換虛擬環境
workon [虛擬環境名稱]
# 刪除虛擬環境
rmvirtualenv [虛擬環境名稱]
# 離開虛擬環境
deactivate
?# 4. 所遇錯誤解析
## 4.1? 遇到 No module named '_ssl'
- ①檢測系統安裝 OpenSSL
yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel gcc gcc-c++ openssl-devel
- ② 尋找openssl安裝路徑
find / -name openssl
##我的結果
/usr/lib64/openssl
/usr/include/openssl
/usr/bin/openssl
/etc/pki/ca-trust/extracted/openssl
# 我們需要知道include、lib或者是lib64上一級目錄
# 我的是/usr 備用(1.3更改路徑時使用)
- ③ 編輯 ssl配置參數:切換到解壓號的Python目錄
# vim 你的Python目錄/Modules/Setup.dist
## 大約在 209 行 取消這幾行的注釋
### 原參數
SSL=/usr/local/ssl
_ssl _ssl.c \
-DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \
-L$(SSL)/lib -lssl -lcrypto## 改成下面的, 下面的路徑/usr取自1.2查找的結果
SSL=/usr
_ssl _ssl.c \
-DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \
-L$(SSL)/lib64 -lssl -lcrypto
- ④? 保存,重新編譯安裝
# 編譯
make
# 安裝
make install
## 4.2 錯誤"Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-w5?????? kib41y/virtualenvwrapper/"
錯誤示例:
- ?①升級pip版本
python3 -m pip install --upgrade pip
- ② 如果升級pip后問題仍然存在,嘗試清除pip的緩存并重新安裝包。可以使用以下命令清除緩存
pip3 cache purge
## 4.3 找不到"pbr"包
- ① 升級setuptools
pip install --upgrade setuptools pip
- ② 更換pip源--阿里云
pip install --upgrade setuptools pip
- ③ 在安裝virtualenvwrapper之前安裝pbr
pip3 install pbr
- ④ 再安裝virtualenvwrapper,回到2的第②步驟
以上python3的環境配置成功!