乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      virtualenv

       月影曉風(fēng) 2016-09-14

      在開發(fā)Python應(yīng)用程序的時候,系統(tǒng)安裝的Python3只有一個版本:3.4。所有第三方的包都會被pip安裝到Python3的site-packages目錄下。

      如果我們要同時開發(fā)多個應(yīng)用程序,那這些應(yīng)用程序都會共用一個Python,就是安裝在系統(tǒng)的Python 3。如果應(yīng)用A需要jinja 2.7,而應(yīng)用B需要jinja 2.6怎么辦?

      這種情況下,每個應(yīng)用可能需要各自擁有一套“獨立”的Python運行環(huán)境。virtualenv就是用來為一個應(yīng)用創(chuàng)建一套“隔離”的Python運行環(huán)境。

      首先,我們用pip安裝virtualenv:

      $ pip3 install virtualenv
      

      然后,假定我們要開發(fā)一個新的項目,需要一套獨立的Python運行環(huán)境,可以這么做:

      第一步,創(chuàng)建目錄:

      Mac:~ michael$ mkdir myproject
      Mac:~ michael$ cd myproject/
      Mac:myproject michael$
      

      第二步,創(chuàng)建一個獨立的Python運行環(huán)境,命名為venv

      Mac:myproject michael$ virtualenv --no-site-packages venv
      Using base prefix '/usr/local/.../Python.framework/Versions/3.4'
      New python executable in venv/bin/python3.4
      Also creating executable in venv/bin/python
      Installing setuptools, pip, wheel...done.
      

      命令virtualenv就可以創(chuàng)建一個獨立的Python運行環(huán)境,我們還加上了參數(shù)--no-site-packages,這樣,已經(jīng)安裝到系統(tǒng)Python環(huán)境中的所有第三方包都不會復(fù)制過來,這樣,我們就得到了一個不帶任何第三方包的“干凈”的Python運行環(huán)境。

      新建的Python環(huán)境被放到當(dāng)前目錄下的venv目錄。有了venv這個Python環(huán)境,可以用source進(jìn)入該環(huán)境:

      Mac:myproject michael$ source venv/bin/activate
      (venv)Mac:myproject michael$
      

      注意到命令提示符變了,有個(venv)前綴,表示當(dāng)前環(huán)境是一個名為venv的Python環(huán)境。

      下面正常安裝各種第三方包,并運行python命令:

      (venv)Mac:myproject michael$ pip install jinja2
      ...
      Successfully installed jinja2-2.7.3 markupsafe-0.23
      (venv)Mac:myproject michael$ python myapp.py
      ...
      

      venv環(huán)境下,用pip安裝的包都被安裝到venv這個環(huán)境下,系統(tǒng)Python環(huán)境不受任何影響。也就是說,venv環(huán)境是專門針對myproject這個應(yīng)用創(chuàng)建的。

      退出當(dāng)前的venv環(huán)境,使用deactivate命令:

      (venv)Mac:myproject michael$ deactivate 
      Mac:myproject michael$
      

      此時就回到了正常的環(huán)境,現(xiàn)在pippython均是在系統(tǒng)Python環(huán)境下執(zhí)行。

      完全可以針對每個應(yīng)用創(chuàng)建獨立的Python運行環(huán)境,這樣就可以對每個應(yīng)用的Python環(huán)境進(jìn)行隔離。

      virtualenv是如何創(chuàng)建“獨立”的Python運行環(huán)境的呢?原理很簡單,就是把系統(tǒng)Python復(fù)制一份到virtualenv的環(huán)境,用命令source venv/bin/activate進(jìn)入一個virtualenv環(huán)境時,virtualenv會修改相關(guān)環(huán)境變量,讓命令pythonpip均指向當(dāng)前的virtualenv環(huán)境。

      小結(jié)

      virtualenv為應(yīng)用提供了隔離的Python運行環(huán)境,解決了不同應(yīng)用間多版本的沖突問題。

        本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多