日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

一篇文章講清楚Python虛擬環(huán)境

系統(tǒng) 1820 0

Virtualenv

我們都知道Python開(kāi)發(fā)項(xiàng)目很容易,項(xiàng)目也經(jīng)得起工業(yè)級(jí)別考驗(yàn)。很多開(kāi)發(fā)者都會(huì)習(xí)慣用Python開(kāi)發(fā)項(xiàng)目,但是由于我們每個(gè)項(xiàng)目情況都有些不一樣。比如 今天可能用的是Django 1.8,明天可能用的是Django 2.1。

如果不進(jìn)行環(huán)境隔離全局安裝就會(huì)導(dǎo)致包的沖突,依賴不同,出現(xiàn)問(wèn)題。

這個(gè)時(shí)候每個(gè)應(yīng)用都需要一套「獨(dú)立」的Python運(yùn)行環(huán)境。而Virtualenv就是拿來(lái)為應(yīng)用創(chuàng)建這一套「隔離」的Python運(yùn)行環(huán)境。

首先用pip安裝

pip install virtualenv

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

            
              sitin@test
              
                :
              
              
                /
              
              data
              
                /
              
              opt
              
                /
              
              test$ virtualenv venv

sitin@test
              
                :
              
              
                /
              
              data
              
                /
              
              opt
              
                /
              
              test$ source venv
              
                /
              
              
                bin
              
              
                /
              
              activate


              
                (
              
              venv
              
                )
              
               sitin@test
              
                :
              
              
                /
              
              data
              
                /
              
              opt
              
                /
              
              test$ deactivate

sitin@test
              
                :
              
              
                /
              
              data
              
                /
              
              opt
              
                /
              
              test$

            
          

Virtualenvwrapper

上面如果我們配置了vitualenvwrapper會(huì)更加方便切換進(jìn)入虛擬環(huán)境,做到一鍵切換進(jìn)入虛擬環(huán)境。不用每次都去到指定項(xiàng)目目錄里面進(jìn)行 source venv/bin/activate。

安裝如下:

pip install virtualenvwrappermkdir ~/.virtualenvs

安裝好了,你可以在你的.bashrc或者.zshrc配置virtualenvwrapper,配置如下。

            
              export WORKON_HOME
              
                =
              
              $HOME
              
                /
              
              
                .
              
              virtualenvs 
              
                # 指定目錄
              
              
export VIRTUALENVWRAPPER_PYTHON
              
                =
              
              
                /
              
              usr
              
                /
              
              
                bin
              
              
                /
              
              python
export VIRTUALENVWRAPPER_VIRTUALENV_ARGS
              
                =
              
              
                '--no-site-packages'
              
              
                # 隔離系統(tǒng)site-packages
              
              
export PIP_VIRTUALENV_BASE
              
                =
              
              $WORKON_HOME
export PIP_RESPECT_VIRTUALENV
              
                =
              
              true

              
                if
              
              
                [
              
              
                [
              
              
                -
              
              r 
              
                /
              
              usr
              
                /
              
              local
              
                /
              
              
                bin
              
              
                /
              
              virtualenvwrapper
              
                .
              
              sh 
              
                ]
              
              
                ]
              
              
                ;
              
               then
source 
              
                /
              
              usr
              
                /
              
              local
              
                /
              
              
                bin
              
              
                /
              
              virtualenvwrapper
              
                .
              
              sh

              
                else
              
              
echo 
              
                "WARNING: Can't find virtualenvwrapper.sh"
              
              
fi

            
          

配置好我們可以創(chuàng)建我們虛擬環(huán)境方式如下:

mkvirtualenv your_project #創(chuàng)建rmvitualenv your_project #刪除workon # 列出項(xiàng)目workon your_project # 進(jìn)去某個(gè)項(xiàng)目

通過(guò)上面這種方式,讓我們更加方便切換進(jìn)入虛擬環(huán)境了。

Pyenv

說(shuō)了vitualenv,vitualenvwrapper,進(jìn)行Python 包的環(huán)境隔離,我們接下來(lái)聊聊我們終極利器pyenv – Python版本的隔離。

我們都知道python存在2,3問(wèn)題,我們經(jīng)常需要維護(hù)老版本Python2項(xiàng)目,也要考慮新版本Python3的遷移。

說(shuō)它是終極利器是它除了python版本問(wèn)題,也可以結(jié)合virtualenv,vitualenvwrapper一起使用。

目前pyenv這個(gè)庫(kù)在github上面有14K+的star,可見(jiàn)受到到了非常多的關(guān)注。

這里面我們直接進(jìn)入Mac的安裝環(huán)節(jié):

brew install pyenvbrew install pyenv-virtualenvbrew install pyenv-virtualenvwrapper

把下面的配置加入到我們的shell環(huán)境中,比如我的就是.zshrc。

            
              # ---pyenv---
export PATH="$HOME/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"

            
          

配置好之后,我們可以看到pyenv的shell補(bǔ)全,如下圖。

一篇文章講清楚Python虛擬環(huán)境_第1張圖片
pyenv的具體使用方式:

            
              pyenv install 
              
                -
              
              l 
              
                # 獲取安裝列表
              
              
pyenv install 
              
                3.7
              
              
                .1
              
              
                # 安裝python3.7
              
              
pyenv 
              
                global
              
              
                3.7
              
              
                .1
              
              
                # 設(shè)置全局python
              
              
pyenv virtualenv test
              
                -
              
              pyenv
              
                -
              
              venv 
              
                # 創(chuàng)建虛擬包
              
              
pyenv activate test
              
                -
              
              pyenv
              
                -
              
              venv 
              
                # 進(jìn)入虛擬環(huán)境
              
              
pyenv deactivate 
              
                # 退出
              
              
                .
              
              
                .
              
              
                .
              
            
          

這里面我就不過(guò)多演示使用了,看一個(gè)官方的配圖。
一篇文章講清楚Python虛擬環(huán)境_第2張圖片
Tox
上面我們提到了關(guān)于使用pyenv進(jìn)行python2,3的版本隔離情況,實(shí)際過(guò)程中想要寫(xiě)出兼容Python2,3的代碼,那么我們不得不提一下這個(gè)測(cè)試工具–tox。

tox提供了非常方便的方式來(lái)運(yùn)行我們的不同環(huán)境下的測(cè)試,非常方便我們?cè)趯?xiě)測(cè)試的時(shí)候,同時(shí)對(duì)Python2,Python3的環(huán)境進(jìn)行測(cè)試,這里面強(qiáng)烈推薦大家使用。


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 罗城| 铅山县| 原阳县| 遵义县| 通城县| 临桂县| 桂平市| 门源| 抚松县| 星座| 渭源县| 鄯善县| 鄂州市| 泰宁县| 精河县| 郎溪县| 郁南县| 同心县| 呼伦贝尔市| 蒙城县| 资中县| 连山| 陈巴尔虎旗| 中牟县| 紫金县| 昭觉县| 新竹县| 河西区| 平山县| 丽江市| 宁明县| 綦江县| 上栗县| 文成县| 平山县| 江北区| 扎鲁特旗| 霸州市| 花垣县| 隆化县| 兴山县|