Python虛擬環(huán)境詳解

虛擬環(huán)境

為什么需要虛擬環(huán)境:

到目前位置,我們所有的第三方包安裝都是直接通過pip install xx的方式進行安裝的,這樣安裝會將那個包安裝到你的系統(tǒng)級的Python環(huán)境中。但是這樣有一個問題,就是如果你現(xiàn)在用Django 1.10.x寫了個網(wǎng)站,然后你的領(lǐng)導(dǎo)跟你說,之前有一個舊項目是用Django 0.9開發(fā)的,讓你來維護,但是Django 1.10不再兼容Django 0.9的一些語法了。這時候就會碰到一個問題,我如何在我的電腦中同時擁有Django 1.10Django 0.9兩套環(huán)境呢?這時候我們就可以通過虛擬環(huán)境來解決這個問題。

虛擬環(huán)境原理介紹:

虛擬環(huán)境相當于一個抽屜,在這個抽屜中安裝的任何軟件包都不會影響到其他抽屜。并且在項目中,我可以指定這個項目的虛擬環(huán)境來配合我的項目。比如我們現(xiàn)在有一個項目是基于Django 1.10.x版本,又有一個項目是基于Django 0.9.x的版本,那么這時候就可以創(chuàng)建兩個虛擬環(huán)境,在這兩個虛擬環(huán)境中分別安裝Django 1.10.xDjango 0.9.x來適配我們的項目。

安裝virtualenv

virtualenv是用來創(chuàng)建虛擬環(huán)境的軟件工具,我們可以通過pip或者pip3來安裝:

pip install virtualenv
pip3 install virtualenv

創(chuàng)建虛擬環(huán)境:

創(chuàng)建虛擬環(huán)境非常簡單,通過以下命令就可以創(chuàng)建了:

virtualenv [虛擬環(huán)境的名字]

如果你當前的Python3/Scripts的查找路徑在Python2/Scripts的前面,那么將會使用python3作為這個虛擬環(huán)境的解釋器。如果python2/Scriptspython3/Scripts前面,那么將會使用Python2來作為這個虛擬環(huán)境的解釋器。

進入環(huán)境:

虛擬環(huán)境創(chuàng)建好了以后,那么可以進入到這個虛擬環(huán)境中,然后安裝一些第三方包,進入虛擬環(huán)境在不同的操作系統(tǒng)中有不同的方式,一般分為兩種,第一種是Windows,第二種是*nix

  1. windows進入虛擬環(huán)境:進入到虛擬環(huán)境的Scripts文件夾中,然后執(zhí)行activate
  2. *nix進入虛擬環(huán)境:source /path/to/virtualenv/bin/activate
    一旦你進入到了這個虛擬環(huán)境中,你安裝包,卸載包都是在這個虛擬環(huán)境中,不會影響到外面的環(huán)境。

退出虛擬環(huán)境:

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

創(chuàng)建虛擬環(huán)境的時候指定Python解釋器:

在電腦的環(huán)境變量中,一般是不會去更改一些環(huán)境變量的順序的。也就是說比如你的Python2/ScriptsPython3/Scripts的前面,那么你不會經(jīng)常去更改他們的位置。但是這時候我確實是想在創(chuàng)建虛擬環(huán)境的時候用Python3這個版本,這時候可以通過-p參數(shù)來指定具體的Python解釋器:

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

virtualenvwrapper:

virtualenvwrapper這個軟件包可以讓我們管理虛擬環(huán)境變得更加簡單。不用再跑到某個目錄下通過virtualenv來創(chuàng)建虛擬環(huán)境,并且激活的時候也要跑到具體的目錄下去激活。

安裝virtualenvwrapper

  1. *nix:pip install virtualenvwrapper
  2. windows:pip install virtualenvwrapper-win。

virtualenvwrapper基本使用:

  1. 創(chuàng)建虛擬環(huán)境:
mkvirtualenv my_env

那么會在你當前用戶下創(chuàng)建一個Env的文件夾,然后將這個虛擬環(huán)境安裝到這個目錄下。
如果你電腦中安裝了python2python3,并且兩個版本中都安裝了virtualenvwrapper,那么將會使用環(huán)境變量中第一個出現(xiàn)的Python版本來作為這個虛擬環(huán)境的Python解釋器。

  1. 切換到某個虛擬環(huán)境:
workon my_env
  1. 退出當前虛擬環(huán)境:
deactivate
  1. 刪除某個虛擬環(huán)境:
rmvirtualenv my_env
  1. 列出所有虛擬環(huán)境:
lsvirtualenv
  1. 進入到虛擬環(huán)境所在的目錄:
cdvirtualenv

修改mkvirtualenv的默認路徑:

我的電腦->右鍵->屬性->高級系統(tǒng)設(shè)置->環(huán)境變量->系統(tǒng)變量中添加一個參數(shù)WORKON_HOME,將這個參數(shù)的值設(shè)置為你需要的路徑。

創(chuàng)建虛擬環(huán)境的時候指定Python版本:

在使用mkvirtualenv的時候,可以指定--python的參數(shù)來指定具體的python路徑:

mkvirtualenv --python==C:\Python36\python.exe hy_env
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 本書介紹 你是不是對Django的學(xué)習(xí)感到迷茫?是不是對網(wǎng)上零星的教程感到絕望?是不是苦于沒有可以迅速上手的實例而...
    阡陌3536閱讀 1,406評論 0 0
  • # Python 資源大全中文版 我想很多程序員應(yīng)該記得 GitHub 上有一個 Awesome - XXX 系列...
    aimaile閱讀 26,833評論 6 427
  • 環(huán)境管理管理Python版本和環(huán)境的工具。p–非常簡單的交互式python版本管理工具。pyenv–簡單的Pyth...
    MrHamster閱讀 3,954評論 1 61
  • # Python 資源大全中文版 我想很多程序員應(yīng)該記得 GitHub 上有一個 Awesome - XXX 系列...
    小邁克閱讀 3,124評論 1 3
  • 點我查看本文集的說明及目錄。 本項目相關(guān)內(nèi)容( github傳送 )包括: 實現(xiàn)過程: CH1 創(chuàng)建一個博客應(yīng)用 ...
    學(xué)以致用123閱讀 4,644評論 0 31

友情鏈接更多精彩內(nèi)容