1. 程式人生 > 實用技巧 >虛擬環境管理

虛擬環境管理

為什麼需要虛擬環境:

京東 python2 flask2.0 淘寶 python3 flask1.0

到目前位置,我們所有的第三方包安裝都是直接通過pip install xx的方式進行安裝的,這樣安裝會將那個包安裝到你的系統級的Python環境中。但是這樣有一個問題,就是如果你現在用Django 1.10.x寫了個網站,然後你的領導跟你說,之前有一箇舊專案是用Django 0.9開發的,讓你來維護,但是Django 1.10不再相容Django 0.9的一些語法了。這時候就會碰到一個問題,我如何在我的電腦中同時擁有Django 1.10Django 0.9兩套環境呢?這時候我們就可以通過虛擬環境來解決這個問題。

虛擬環境原理介紹:

虛擬環境相當於一個抽屜,在這個抽屜中安裝的任何軟體包都不會影響到其他抽屜。並且在專案中,我可以指定這個專案的虛擬環境來配合我的專案。比如我們現在有一個專案是基於Django 1.10.x版本,又有一個專案是基於Django 0.9.x的版本,那麼這時候就可以建立兩個虛擬環境,在這兩個虛擬環境中分別安裝Django 1.10.xDjango 0.9.x來適配我們的專案。

安裝virtualenv

virtualenv是用來建立虛擬環境的軟體工具,我們可以通過pip或者pip3來安裝:

   pip install virtualenv
pip3 install virtualenv

建立虛擬環境:

建立虛擬環境非常簡單,通過以下命令就可以建立了:

   virtualenv [虛擬環境的名字]

如果你當前的Python3/Scripts的查詢路徑在Python2/Scripts的前面,那麼將會使用python3作為這個虛擬環境的直譯器。如果python2/Scriptspython3/Scripts前面,那麼將會使用Python2來作為這個虛擬環境的直譯器。

進入環境:

虛擬環境建立好了以後,那麼可以進入到這個虛擬環境中,然後安裝一些第三方包,進入虛擬環境在不同的作業系統中有不同的方式,一般分為兩種,第一種是Windows,第二種是*nix

  1. windows進入虛擬環境:進入到虛擬環境的Scripts

    資料夾中,然後執行activate

  2. *nix進入虛擬環境:source /path/to/virtualenv/bin/activate 一旦你進入到了這個虛擬環境中,你安裝包,解除安裝包都是在這個虛擬環境中,不會影響到外面的環境。

退出虛擬環境:

退出虛擬環境很簡單,通過一個命令就可以完成:deactivate

建立虛擬環境的時候指定Python直譯器:

在電腦的環境變數中,一般是不會去更改一些環境變數的順序的。也就是說比如你的Python2/ScriptsPython3/Scripts的前面,那麼你不會經常去更改他們的位置。但是這時候我確實是想在建立虛擬環境的時候用Python3這個版本,這時候可以通過-p引數來指定具體的Python直譯器:

   virtualenv -p C:\Python36\python.exe [virutalenv name]

virtualenv 需要進入目錄 啟用或者退出 這樣很麻煩

virtualenvwrapper:

virtualenvwrapper這個軟體包可以讓我們管理虛擬環境變得更加簡單。不用再跑到某個目錄下通過virtualenv來建立虛擬環境,並且啟用的時候也要跑到具體的目錄下去啟用。

安裝virtualenvwrapper

  1. *nix:pip install virtualenvwrapper

  2. windows:pip install virtualenvwrapper-win

virtualenvwrapper基本使用:

  1. 建立虛擬環境:

     mkvirtualenv my_env

    那麼會在你當前使用者下建立一個Env的資料夾,然後將這個虛擬環境安裝到這個目錄下。 如果你電腦中安裝了python2python3,並且兩個版本中都安裝了virtualenvwrapper,那麼將會使用環境變數中第一個出現的Python版本來作為這個虛擬環境的Python直譯器。

  2. 切換到某個虛擬環境:

     workon my_env
  3. 退出當前虛擬環境:

     deactivate
  4. 刪除某個虛擬環境:

     rmvirtualenv my_env
  5. 列出所有虛擬環境:

     lsvirtualenv
  6. 進入到虛擬環境所在的目錄:

     首先切換到該虛擬環境
    cdvirtualenv

修改mkvirtualenv的預設路徑:

我的電腦->右鍵->屬性->高階系統設定->環境變數->系統變數中新增一個引數WORKON_HOME,將這個引數的值設定為你需要的路徑。

建立虛擬環境的時候指定Python版本:

在使用mkvirtualenv的時候,可以指定--python的引數來指定具體的python路徑:

   mkvirtualenv --python==C:\Python36\python.exe qf_env