0.虛擬環境

 

虛擬環境

爲何須要虛擬環境:

到目前爲止,咱們全部的第三方包安裝都是直接經過pip install xx的方式進行安裝的,這樣安裝會將那個包安裝到你的系統級的Python環境中。可是這樣有一個問題,就是若是你如今用Django 1.10.x寫了個網站,而後你的領導跟你說,以前有一箇舊項目是用Django 0.9開發的,讓你來維護,可是Django 1.10再也不兼容Django 0.9的一些語法了。這時候就會碰到一個問題,我如何在個人電腦中同時擁有Django 1.10Django 0.9兩套環境呢?這時候咱們就能夠經過虛擬環境來解決這個問題。javascript

虛擬環境原理介紹:

虛擬環境至關於一個抽屜,在這個抽屜中安裝的任何軟件包都不會影響到其餘抽屜。而且在項目中,我能夠指定這個項目的虛擬環境來配合個人項目。好比咱們如今有一個項目是基於Django 1.10.x版本,又有一個項目是基於Django 0.9.x的版本,那麼這時候就能夠建立兩個虛擬環境,在這兩個虛擬環境中分別安裝Django 1.10.xDjango 0.9.x來適配咱們的項目。html

安裝virtualenv:

virtualenv是用來建立虛擬環境的軟件工具,咱們能夠經過pip或者pip3來安裝:java

pip install virtualenv
    pip3 install virtualenv

建立虛擬環境:

建立虛擬環境很是簡單,經過如下命令就能夠建立了:python

virtualenv [虛擬環境的名字]


若是你當前的Python3/Scripts的查找路徑在Python2/Scripts的前面,那麼將會使用python3做爲這個虛擬環境的解釋器。若是python2/Scriptspython3/Scripts前面,那麼將會使用Python##2來做爲這個虛擬環境的解釋器。ios

進入環境:

虛擬環境建立好了之後,那麼能夠進入到這個虛擬環境中,而後安裝一些第三方包,進入虛擬環境在不一樣的操做系統中有不一樣的方式,通常分爲兩種,第一種是Windows,第二種是*nix:web

1.windows進入虛擬環境:進入到虛擬環境的Scripts文件夾中,而後執行activate
2.1*nix1進入虛擬環境:source /path/to/virtualenv/bin/activate
一旦你進入到了這個虛擬環境中,你安裝包,卸載包都是在這個虛擬環境中,不會影響到外面的環境。windows

退出虛擬環境:

退出虛擬環境很簡單,經過一個命令就能夠完成:deactivateapi

建立虛擬環境的時候指定Python解釋器:

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

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

virtualenvwrapper:

virtualenvwrapper這個軟件包可讓咱們管理虛擬環境變得更加簡單。不用再跑到某個目錄下經過virtualenv來建立虛擬環境,而且激活的時候也要跑到具體的目錄下去激活。app

安裝virtualenvwrapper:

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

virtualenvwrapper基本使用:

1.建立虛擬環境:

mkvirtualenv my_env


那麼會在你當前用戶下建立一個Env的文件夾,而後將這個虛擬環境安裝到這個目錄下。
若是你電腦中安裝了python2和python3,而且兩個版本中都安裝了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 hy_env

小插曲,在cmd輸入pip時報錯

C:\Users\Administrator>pip
>>Fatal error in launcher: Unable to create process using '"g:\python\python.exe"
"E:\python3.7\Scripts\pip.exe" '


環境變量並無錯,解決:

C:\Users\Administrator>python -m pip install
>>ERROR: You must give at least one requirement to install (see "pip help install")
You are using pip version 19.0.3, however version 19.2 is available.
You should consider upgrading via the 'python -m pip install --upgrade pip' comm and.
# 而後根據提示
C:\Users\Administrator>python -m pip install --upgrade pip
>>Collecting pip
Downloading https://files.pythonhosted.org/packages/3a/6f/35de4f49ae5c7fdb2b64
097ab195020fb48faa8ad3a85386ece6953c11b1/pip-19.2-py2.py3-none-any.whl (1.4MB)

成功了

相關文章
相關標籤/搜索