国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專(zhuān)欄INFORMATION COLUMN

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

付永剛 / 2166人閱讀

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

簡(jiǎn)介

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

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

在沒(méi)有權(quán)限的情況下安裝新套件

不同應(yīng)用可以使用不同的套件版本

套件升級(jí)不影響其他應(yīng)用

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

安裝

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

$ sudo easy_install virtualenv

或者:

$ sudo pip install virtualenv

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

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

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

$ virtualenv kvenv

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

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

激活虛擬環(huán)境

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

$ source kvenv/bin/activate

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

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

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

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

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

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

$ virtualenv kvenv --no-site-packages

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

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

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

$ pip install flask

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

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

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

$ pip freeze
參考資料

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

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

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

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/43075.html

相關(guān)文章

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

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

    phoenixsky 評(píng)論0 收藏0
  • 為什么你的python版本一團(tuán)糟?因?yàn)樯倭诉@個(gè)操作

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

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

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

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

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

    rozbo 評(píng)論0 收藏0
  • Python使用谷歌Cloud Speech API將語(yǔ)音轉(zhuǎn)換為文字

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

    red_bricks 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<