Python 虛擬環(huán)境

什么是虛擬環(huán)境?

虛擬環(huán)境主要是為了獨立多個 Python 解釋器環(huán)境出來氛改。這有什么用呢?

比如你在網(wǎng)上下了一個 Python 的開源系統(tǒng)恬口,其中用到了 Django 1.11 版本,而你現(xiàn)在系統(tǒng)環(huán)境中安裝的是 Django 2.2 的版本沼侣,那你現(xiàn)在是卸載掉 2.2 的版本重新安裝 1.11 的版本祖能?

但是又有其他的相同用到了 Django 2.2 的版本,這就尷尬了蛾洛。那么你可以通過建立虛擬環(huán)境养铸,讓這兩個版本都能并存。需要用 1.1 版本的就使用虛擬環(huán)境雅潭,在其中安裝 1.1 的版本揭厚,而另外的項目就用系統(tǒng)環(huán)境中的 2.2 版本。

而且不同的項目用到的庫不一樣扶供,如果全部下載到系統(tǒng)環(huán)境的話就會有非常多的庫筛圆,系統(tǒng)環(huán)境會變的非常臃腫。

虛擬環(huán)境相當于從系統(tǒng)環(huán)境中復制一套 Python 的運行環(huán)境椿浓,有獨立的 Python 運行文件太援,也有獨立的 pip。虛擬環(huán)境可以創(chuàng)建無數(shù)套扳碍,并且互不影響提岔,同時也不會影響到系統(tǒng)環(huán)境。

如果你是初學者笋敞,接觸的庫不多碱蒙,用到的同一個庫不同版本的情況不多,可以不使用虛擬環(huán)境夯巷。當你逐漸深入掌握 Python 后就會用到赛惩。

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

有兩種方式趁餐,早期(Python3.4以前)創(chuàng)建虛擬環(huán)境需要專門下載一個 virtualenv庫喷兼。3.4 以后的版本自帶了 venv 命令,與 virtualenv 具有相同的效果后雷。

如果需要使用 virtualenv 需要pip install virtualenv然后使用virtualenv命令季惯。或者直接使用 venv 命令python -m venv臀突。(兩個命令效果一致)

創(chuàng)建虛擬環(huán)境命令如下:

python -m venv -p Python.exe路徑 --no-site-packages D:\PythonProject\my_django\venv
  • -p Python.exe路徑:如果你電腦上有多個 Python 版本勉抓,需要通過指定 python.exe 文件來指定系統(tǒng)環(huán)境的 Python,如-p C:\python36\python.exe
  • --no-site-packages:不拷貝系統(tǒng)環(huán)境中的第三方庫候学,其實默認也不會拷貝
  • D:\PythonProject\my_django\venv:虛擬環(huán)境創(chuàng)建的位置

其實藕筋,你也可以不用這么麻煩,如果你只有一個 Python 版本盒齿,那么直接使用下面的命令即可:

python -m venv D:\PythonProject\my_django\venv

我們可以看到在我們指定的目錄下創(chuàng)建了一系列的文件:



其實念逞,這就是虛擬環(huán)境啦困食。只是除了這些文件外還沒什么感覺。那如何使用呢翎承?

激活虛擬環(huán)境

一般你使用的 IDE 工具硕盹,比如 Pycharm 會自動激活指定的虛擬環(huán)境,并使用虛擬環(huán)境中的 Python.exe 來運行代碼叨咖,也只使用虛擬環(huán)境中已安裝的庫瘩例,使用 pip 也是下載到虛擬環(huán)境。

這就是為什么很多同學在初學過程中甸各,使用 Pycharm 這樣的工具時垛贤,通過 pip 命令下載的第三方庫在寫代碼的時候引入失敗的原因了。
Pycharm 每次創(chuàng)建項目時默認會創(chuàng)建一個虛擬環(huán)境趣倾。
你在不知不覺中就使用了虛擬環(huán)境聘惦。

如果我們要在命令行使用虛擬環(huán)境中的 Python 來運行 py 文件的話,就需要手動激活儒恋。

激動方式是善绎,先進入虛擬環(huán)境目錄中的Scripts目錄,如D:\PythonProject\my_django\venv\Scripts诫尽。然后使用 activate 命令來激活當前虛擬環(huán)境禀酱。

$ cd D:\PythonProject\my_django\venv\Scripts
$ activate

你會看到在命令提示符前面多了個(venv)字樣:


接下來,你輸入的 Python 命令和 pip 命令都是在當前的虛擬環(huán)境下執(zhí)行了牧嫉,不會影響到系統(tǒng)環(huán)境剂跟。

如果你想要退出虛擬環(huán)境,使用命令deactivate即可酣藻。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末曹洽,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子臊恋,更是在濱河造成了極大的恐慌衣洁,老刑警劉巖墓捻,帶你破解...
    沈念sama閱讀 210,978評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件抖仅,死亡現(xiàn)場離奇詭異,居然都是意外死亡砖第,警方通過查閱死者的電腦和手機撤卢,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,954評論 2 384
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來梧兼,“玉大人放吩,你說我怎么就攤上這事∮鸾埽” “怎么了渡紫?”我有些...
    開封第一講書人閱讀 156,623評論 0 345
  • 文/不壞的土叔 我叫張陵到推,是天一觀的道長。 經(jīng)常有香客問我惕澎,道長莉测,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,324評論 1 282
  • 正文 為了忘掉前任唧喉,我火速辦了婚禮捣卤,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘八孝。我一直安慰自己董朝,他們只是感情好,可當我...
    茶點故事閱讀 65,390評論 5 384
  • 文/花漫 我一把揭開白布干跛。 她就那樣靜靜地躺著子姜,像睡著了一般。 火紅的嫁衣襯著肌膚如雪楼入。 梳的紋絲不亂的頭發(fā)上闲询,一...
    開封第一講書人閱讀 49,741評論 1 289
  • 那天,我揣著相機與錄音浅辙,去河邊找鬼扭弧。 笑死,一個胖子當著我的面吹牛记舆,可吹牛的內(nèi)容都是我干的鸽捻。 我是一名探鬼主播,決...
    沈念sama閱讀 38,892評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼泽腮,長吁一口氣:“原來是場噩夢啊……” “哼御蒲!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起诊赊,我...
    開封第一講書人閱讀 37,655評論 0 266
  • 序言:老撾萬榮一對情侶失蹤厚满,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后碧磅,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體碘箍,經(jīng)...
    沈念sama閱讀 44,104評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,451評論 2 325
  • 正文 我和宋清朗相戀三年鲸郊,在試婚紗的時候發(fā)現(xiàn)自己被綠了丰榴。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,569評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡秆撮,死狀恐怖四濒,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤盗蟆,帶...
    沈念sama閱讀 34,254評論 4 328
  • 正文 年R本政府宣布戈二,位于F島的核電站,受9級特大地震影響喳资,放射性物質(zhì)發(fā)生泄漏挽拂。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,834評論 3 312
  • 文/蒙蒙 一骨饿、第九天 我趴在偏房一處隱蔽的房頂上張望亏栈。 院中可真熱鬧,春花似錦宏赘、人聲如沸绒北。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,725評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽闷游。三九已至,卻和暖如春贴汪,著一層夾襖步出監(jiān)牢的瞬間脐往,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,950評論 1 264
  • 我被黑心中介騙來泰國打工扳埂, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留业簿,地道東北人。 一個月前我還...
    沈念sama閱讀 46,260評論 2 360
  • 正文 我出身青樓阳懂,卻偏偏與公主長得像梅尤,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子岩调,可洞房花燭夜當晚...
    茶點故事閱讀 43,446評論 2 348