virtualenv簡介
在開發Python應用程序的時候,我們的系統上通常只會安裝一個Python版本:例如 3.7。所有使用 pip 安裝的第三方包都會被安裝到Python的site-packages目錄下。如果我們同時開發多個應用程序,而這些應用程序需要使用的某一個第三方包的版本各不相同,該怎麼辦?這種情況下,爲每個應用程序“獨立”安裝一套Python運行環境顯然是不現實的。這個難題,使用 virtualenv 可以輕易解決。
virtualenv 是專門用來爲應用程序維護多套相互“隔離”的Python運行環境的工具,藉助 virtualenv 我們可以在一臺主機上創建多套相互隔離的Python運行環境。
安裝virtualenv
安裝準備
安裝 virtualenv 之前需要先確認是否安裝好 python 和 pip 。
# python -V
Python 2.7.
# pip -V
pip 19.0.3 from /usr/local/python3/lib/python3.7/site-packages/pip (python 3.7)
pip安裝virtualenv
pip install virtualenv
# 或者
pip3 install virtualenv
# 檢查是否安裝成功
virtualenv --version
virtualenv 20.0.17 from /usr/local/python3/lib/python3.7/site-packages/virtualenv/__init__.py
常見問題:-bash: virtualenv: command not found
解決辦法:
# 找到 virtualenv 的安裝路徑
find / -name virtualenv
# /usr/local/python3/bin/virtualenv
# 創建軟連接
ln -s /usr/local/python3/bin/virtualenv /usr/bin/virtualenv
使用virtualenv
# 創建一個文件夾用來存放各個環境的相關文件
mkdir envs
cd envs
# 創建一個名稱爲 test_env 的不帶任何第三方包的獨立的Python運行環境
virtualenv test_env
# 或者
mkdir test_env
cd test_env
virtualenv .
# 進入環境
source test_env/bin/activate
(test_env) [root@hadoop34 envs]#
# 爲環境安裝軟件包
(test_env) [root@hadoop34 envs]# pip install requests
# 退出環境
(test_env) [root@hadoop34 envs]# deactivate