對電腦稍微有點常識的朋友相信都玩過,好比VMware,virtualbox,或者你用電腦端的模擬器玩手機端的遊戲也是同樣,其實就是一個假的空間,在Python這裏,虛擬環境就是虛擬的開發環境,你能夠在裏面作任何正常的操做,而且 不會對外部真實電腦環境有任何影響python
虛擬環境至關於一個抽屜,在這個抽屜中安裝的任何軟件包都不會影響到其餘抽屜。而且在項目中,我能夠指定這個項目的虛擬環境來配合個人項目。linux
到目前位置,咱們全部的第三方包安裝都是直接經過pip的方式進行安裝的,這樣安裝會將那個包安裝到你的系統級的python環境中。web
好比你一直習慣了用django2版本做爲web開發,而後你剛進到一個公司,和其餘同事一塊兒協做開發,他們用的django1,怎麼辦?這時候就能夠建立兩個虛擬環境,正常的使用不一樣版本的django開發項目django
virtualenv
:virtualenv是用來建立虛擬環境的軟件工具,咱們能夠經過pip
或者pip3
來安裝:windows
pip install virtualenv
app
pip3 install virtualenv
工具
建立虛擬環境很是簡單,經過如下命令就能夠建立了:spa
先選好你準備做爲虛擬環境的目錄操作系統
virtualenv 虛擬環境的名字
unix
若是你的電腦安裝了有Python2Python3共存,且各個版本都有安裝虛擬環境,那麼就得看優先級了,個人是Python3,其實原理就是看你電腦的當前的Python3/Scripts
的查找路徑在Python2/Scripts
的前面,那麼將會使用python3
做爲這個虛擬環境的解釋器。若是python2/Scripts
在python3/Scripts
前面,那麼將會使用Python2
來做爲這個虛擬環境的解釋器。
虛擬環境建立好了之後,那麼能夠進入到這個虛擬環境中,而後安裝一些第三方包,進入虛擬環境在不一樣的操做系統中有不一樣的方式,通常分爲兩種,第一種是Windows
,第二種是*nix
:
windows
進入虛擬環境:進入到虛擬環境的Scripts
文件夾中,而後執行activate
。*nix
進入虛擬環境:source /path/to/virtualenv/bin/activate
一旦你進入到了這個虛擬環境中,你安裝包,卸載包都是在這個虛擬環境中,不會影響到外面的環境。
退出虛擬環境很簡單,經過一個命令就能夠完成:deactivate
。
Python
解釋器:在電腦的環境變量中,通常是不會去更改一些環境變量的順序的。也就是說好比你的Python2/Scripts
在Python3/Scripts
的前面,那麼你不會常常去更改他們的位置。可是這時候我確實是想在建立虛擬環境的時候用Python3
這個版本,這時候能夠經過-p
參數來指定具體的Python
解釋器:
virtualenv -p C:\Python37\python.exe [virutalenv name]
注意,指定的Python解釋器路徑不能有錯
virtualenvwrapper
這個軟件包可讓咱們管理虛擬環境變得更加簡單。不用再跑到某個目錄下經過virtualenv
來建立虛擬環境,而且激活的時候也要跑到具體的目錄下去激活。
virtualenvwrapper
:
*nix(linux,unix):
pip install virtualenvwrapper
。windows:
pip install virtualenvwrapper-win
。
virtualenvwrapper
基本使用:
mkvirtualenv 虛擬環境名
可是你可能會遇到以下問題,提示不是命令
那你極可能是安裝成了*nix環境下的包了,卸載重裝便可
那麼會在你當前用戶下建立一個Env
的文件夾,而後將這個虛擬環境安裝到這個目錄下。 若是你電腦中安裝了python2
和python3
,而且兩個版本中都安裝了virtualenvwrapper
,那麼將會使用環境變量中第一個出現的Python
版原本做爲這個虛擬環境的Python
解釋器。
切換到某個虛擬環境:
workon my_env
建立好後會自動進入當前建立的虛擬環境
而後你就能夠開始秀你的騷操做了
退出當前虛擬環境:
deactivate
刪除某個虛擬環境:
rmvirtualenv my_env
列出全部虛擬環境:
lsvirtualenv
進入到虛擬環境所在的目錄:
cdvirtualenv
mkvirtualenv
的默認路徑:
在個人電腦->右鍵->屬性->高級系統設置->環境變量->系統變量中添加一個參數WORKON_HOME,將這個參數的值設置爲你須要的路徑。
Python
版本:
在使用mkvirtualenv
的時候,能夠指定--python
的參數來指定具體的python
路徑:
mkvirtualenv --python==C:\Python37\python.exe hy_env