python虛擬環境virtualenv安裝使用

virtualenv介紹

在開發Python應用程序的時候,所有的第三方包都會被放到${PYTHON_HOME}/Lib/site-packages目錄下。如下圖所示。
在這裏插入圖片描述
但是如果某個程序需要A模塊的V1版本,另一個程序卻需要A模塊的V2版本,如果兩個程序共用同一個python環境的話就會有衝突。

virtualenv就是用來解決上面提到的問題的,它給每個Python開發程序提供一套獨立的Python環境,各個Python開發程序相互獨立,互不干擾。

windows安裝

首先通過pip install virtualenv來安裝virtualenv包。
然後假設我們需要開發一個Python項目,其文件夾地址是D:\pycharm_pro\virtualenv_demo。通過cmd啓動命令窗口然後進入到該目錄
在這裏插入圖片描述
在這裏插入圖片描述
然後執行virtualenv venv創建一個名爲venv的虛擬環境(名字可任意),執行成功後可以在項目目錄下看見一個venv的文件夾
在這裏插入圖片描述
在這裏插入圖片描述
進入到venv/Scripts目錄下執行activate激活當前的虛擬環境,就能在命令行前面看到(venv) D:\pycharm_pro\的字樣。同樣可以通過deactivate來退出當前的虛擬環境。
默認創建虛擬環境的時候就不會把以前Python的依賴包安裝到該虛擬環境,譬如我原本的Python環境有paramiko模塊,創建該虛擬環境後是沒有的,所以如果該項目需要的話就手動通過pip安裝。
在這裏插入圖片描述
在這裏插入圖片描述
更多創建虛擬環境的參數可以通過virtualenv -h查看。
在這裏插入圖片描述

pycharm創建項目指定虛擬環境

其實pycharm在創建python項目時也可以指定虛擬環境,如下圖所示。
不僅支持Virtualenv還支持Conda,至於Conda後面再介紹。
在這裏插入圖片描述

Linux安裝

由於服務器已經安裝了Python2。我們在服務器上再安裝Python3。然後再創建不同python版本的虛擬環境。

Python3的安裝

  • 下載。從Python官網下載一個Python3的版本,此處我選擇的是Python-3.5.4.tgz。如下圖所示。
    在這裏插入圖片描述
  • 安裝。假設安裝包已經放在/usr/local/src/packages,解壓並編譯安裝。
    如果出現configure: error: no acceptable C compiler found in $PATH則需要執行yum -y install gcc
    如果出現Ignoring ensurepip failure: pip 8.1.1 requires SSL/TLS則需要執行yum install openssl-devel
    出現上面任何一個問題,都需要刪除掉--prefix指定的目錄然後重新執行make && make install
cd /usr/local/src
# 解壓
tar zxPvf packages/Python-3.5.4.tgz -C ./
cd Python-3.5.4/
# 將編譯好的python放在 /usr/local/src/python 目錄
./configure --prefix=/usr/local/src/python
make && make install

如果安裝成功後,pip也會自動安裝的,看到下圖所示內容代表編譯安裝成功。
在這裏插入圖片描述
pip3python3命令都在/usr/local/src/python/bin目錄下。
在這裏插入圖片描述

創建Python2的虛擬環境

首先執行pip install virtualenv,創建空目錄mkdir /root/virtual_env_py2
再執行virtualenv -p /usr/bin/python venv安裝Python2的環境,這樣配置的虛擬環境就是python2的。

pip install virtualenv
mkdir /root/virtual_env_py2
cd /root/virtual_env_py2
virtualenv -p /usr/bin/python venv
# 激活python虛擬環境
source venv/bin/activate
# 查看python版本
python -V
# 退出虛擬環境
deactivate

如下圖所示,激活虛擬環境後會在前面有個(venv)標記,並且能看出當前虛擬環境的python版本和pythonpip命令所在路徑。可以通過deactivate退出虛擬環境,退出後前面的虛擬標記就沒有了。
在進入到虛擬環境後,使用pip安裝的包也只會裝在虛擬環境。
在這裏插入圖片描述

創建Python3的虛擬環境

和創建Python2類似。就是通過-p指定具體版本的Python。其他操作是一樣的。

virtualenv -p /usr/local/src/python/bin/python3 venv

virtualenv原理

原理很簡單,就是把系統Python複製一份到virtualenv的環境,用命令source venv/bin/activate進入一個virtualenv環境時,virtualenv會修改相關環境變量,讓命令pythonpip指向當前的virtualenv環境

參考網址

廖雪峯老師python教程

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