成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Linux下使用 virtualenv 虛擬獨立 Python 環(huán)境

付永剛 / 2181人閱讀

摘要:另一個好處是,虛擬環(huán)境不需要管理員權限。當一個虛擬環(huán)境被激活后,程序的位置會被添加到中。比如,安裝到虛擬環(huán)境中,使用如下命令安裝過程會將和它的依賴集安裝到虛擬環(huán)境中。

簡介

在開發(fā)不同的應用時,我們可能需要不同的 Python 版本,同時可能還需要處理包的依賴、版本和間接權限問題。在同系統(tǒng)中,要解決這些問題往往非常棘手。在 Python 的開發(fā)環(huán)境中,為解決這樣的問題最常用的方法是使用 virtualenv 包。 Virtualenv 是一個用來創(chuàng)建獨立的 Python 環(huán)境的包,就類似于一個沙箱,將開發(fā)運行環(huán)境與系統(tǒng)隔離開來。

用 VirtualEnv 創(chuàng)建的多個 Python 環(huán)境相互獨立,互不影響,它能夠:

在沒有權限的情況下安裝新套件

不同應用可以使用不同的套件版本

套件升級不影響其他應用

這樣的虛擬環(huán)境是在 Python 解釋器上的一個私有復制。這樣我們就可以在一個隔絕的環(huán)境下安裝 packages,不會影響到系統(tǒng)中全局的 Python 解釋器。虛擬環(huán)境非常有用,因為它可以防止系統(tǒng)出現(xiàn)包管理混亂和版本沖突的問題。為每個應用程序創(chuàng)建一個虛擬環(huán)境可以確保應用程序只能訪問它們自己使用的包,從而全局解釋器只作為一個源且依然整潔干凈去更多的虛擬環(huán)境。另一個好處是,虛擬環(huán)境不需要管理員權限。

安裝

這里只介紹 Linux 系統(tǒng)下的安裝。在 Linux 下的安裝方法多種多樣,可以通過源碼源碼安裝,也可以用 Python 的包管理工具 easy_installpip 安裝,例如:

$ sudo easy_install virtualenv

或者:

$ sudo pip install virtualenv

如果你使用的是 Ubuntu 及其衍生版本,還可以通過如下方式安裝:

$ sudo apt-get install python-virtualenv
創(chuàng)建虛擬環(huán)境

安裝完成之后便可用 virtualenv 命令創(chuàng)建虛擬環(huán)境,只需要指定一個虛擬環(huán)境的名稱即可:

$ virtualenv kvenv

創(chuàng)建過程輸出如下信息:

Running virtualenv with interpreter /usr/bin/python2
New python executable in kvenv/bin/python2
Also creating executable in kvenv/bin/python
Installing setuptools, pip...done.

創(chuàng)建完成后會生成一個 kvenv 目錄。也可以根據(jù)需要加上參數(shù)來指定所創(chuàng)建的虛擬環(huán)境的行為,例如加上 -p 參數(shù)指定 Python 版本。

激活虛擬環(huán)境

要激活創(chuàng)建的虛擬環(huán)境可以用如下命令:

$ source kvenv/bin/activate

激活成功后會在命令提示符前邊加上 (kvenv) 字符。此時,我們 which python 看有什么不同:

(kvenv)konghy$[~] => which python
/home/konghy/kvenv/bin/python

會發(fā)現(xiàn)此時的 python 解釋器執(zhí)行的是虛擬環(huán)境下的,而不是系統(tǒng)全局的。Virtualenv 拷貝了 Python 可執(zhí)行文件的副本,并創(chuàng)建一些有用的腳本和安裝了項目需要的軟件包,你可以在項目的整個生命周期中安裝/升級/刪除這些包。 它也修改了一些搜索路徑,例如PYTHONPATH,以確保:

當安裝包時,它們被安裝在當前活動的virtualenv里,而不是系統(tǒng)范圍內的Python路徑。

當import代碼時,virtualenv將優(yōu)先采取本環(huán)境中安裝的包,而不是系統(tǒng)Python目錄中安裝的包。

還有一點比較重要,在默認情況下,所有安裝在系統(tǒng)范圍內的包對于 virtualenv 是可見的。 這意味著如果你將 simplejson 安裝在您的系統(tǒng) Python 目錄中,它會自動提供給所有的 virtualenvs 使用。 這種行為可以被更改,在創(chuàng)建 virtualenv 時增加 --no-site-packages 選項的 virtualenv 就不會讀取系統(tǒng)包,如下:

$ virtualenv kvenv --no-site-packages

退出虛擬環(huán)境用如下命令:

$ deactivate
在虛擬環(huán)境中安裝包

大多數(shù)的 Python 包是通過 pip 程序安裝的,在創(chuàng)建虛擬環(huán)境的時候 virtualenv 會自動添加進去。當一個虛擬環(huán)境被激活后,pip 程序的位置會被添加到 PATH 中。比如,安裝 Flask 到虛擬環(huán)境中,使用如下命令:

$ pip install flask

安裝過程會將 Flask 和它的依賴集安裝到虛擬環(huán)境中。驗證是否安裝成功,可以用如下方法:

(venv)$ python
>>> import flask
>>>

用如下命令可以查看當前環(huán)境安裝了哪些包:

$ pip freeze
參考資料

http://flask123.sinaapp.com/a...

http://www.nowamagic.net/acad...

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉載請注明本文地址:http://systransis.cn/yun/43075.html

相關文章

  • 如何管理你載的一大堆Python包【??win環(huán)境linux環(huán)境創(chuàng)建虛擬環(huán)境詳解??】

    引入—— 解決兩個在python開發(fā)中很常見的問題: Python很萬能,這誰都知道(我也知道哈),但這就意味著——Python的庫多,是真的多!你要用哪個庫,就直接下載!pip install!很簡單吧,是很簡單!但是,這樣會很直接的帶來一個問題,也是很多新手容易犯得——你一看他的Python環(huán)境,全是第三方包,密密麻麻的,甚至于開個pycharm,加載第三方包都得加載半年,他還不知道為啥(傻...

    phoenixsky 評論0 收藏0
  • 為什么你的python版本一團糟?因為少了這個操作

    摘要:坑人的版本的版本問題一直是個廣被吐槽的黑點。這些版本的沖突在開發(fā)中十分常見,而和的版本差異又加劇了這一問題。從而避免與其他版本發(fā)生干擾。 坑人的版本 Python 的版本問題一直是個廣被吐槽的黑點。以至于有人調侃說: Python 是世界上最好的兩種語言! 在這里我要說明下,對于初學者來說,版本間的語法差異其實并不大?,F(xiàn)在剛開始學 Python 的人,放心大膽地 用最新版本 即可。業(yè)內...

    ThreeWords 評論0 收藏0
  • python虛擬環(huán)境:envirtualevn 、pyevn

    摘要:虛擬環(huán)境非常有用,因為它可以防止系統(tǒng)出現(xiàn)包管理混亂和版本沖突的問題。為每個應用程序創(chuàng)建一個虛擬環(huán)境可以確保應用程序只能訪問它們自己使用的包,從而全局解釋器只作為一個源且依然整潔干凈去更多的虛擬環(huán)境。另一個好處是,虛擬環(huán)境不需要管理員權限。 https://www.jianshu.com/p/08c... virtualenv 虛擬環(huán)境是在Python解釋器上的一個私有復制,你可以在一個...

    ghnor 評論0 收藏0
  • Python多版本切換工具-Pyenvvirtualenv及Anaconda科學計算環(huán)境的配置

    摘要:為了安裝科學計算環(huán)境,控制好版本,今天上午總算折騰好了。切換和使用新的虛擬環(huán)境這樣就能切換為這個版本的虛擬環(huán)境。通過輸入查看現(xiàn)在版本,可以發(fā)現(xiàn)處于虛擬環(huán)境下了。指定包的版本多個版本并存,尤其是和的并存。下面用創(chuàng)建一個名叫的版本為的環(huán)境。 為了安裝Anaconda科學計算環(huán)境,控制好python版本,今天上午總算折騰好了。 學習python有時希望在python2.7環(huán)境下,有時希望在...

    rozbo 評論0 收藏0
  • Python使用谷歌Cloud Speech API將語音轉換為文字

    摘要:之前我們總結了使用谷歌將語音轉換為文字的基本流程,然而那只是在命令行中使用實現(xiàn)的。配置開發(fā)環(huán)境筆者使用的是樹莓派進行試驗的,其他平臺的配置方法可以在這里查找。設置驗證登錄谷歌云平臺控制臺,前往創(chuàng)建服務賬號密鑰界面。 之前我們總結了使用谷歌Cloud Speech API將語音轉換為文字的基本流程,然而那只是在命令行中使用curl實現(xiàn)的。這次我們將總結在Python中使用Cloud Sp...

    red_bricks 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<