/1 前言/
咱們今天就來說一下Python的虛擬環(huán)境,可能有的小伙伴會(huì)疑惑,Python的虛擬環(huán)境有什么用呢?接下來我們一起來探討一下。
/2 虛擬環(huán)境的作用/
咱們今天就來說一下Python的虛擬環(huán)境,可能有的小伙伴會(huì)疑惑,Python的虛擬環(huán)境有什么用呢?接下來我們一起來探討一下。
我們先來舉個(gè)例子,來說明為什么需要虛擬環(huán)境。我們?cè)趯W(xué)習(xí)Python的時(shí)候,可能會(huì)學(xué)到越來越多的第三方庫(kù),比如爬蟲,我們需要安裝requests,可能學(xué)著學(xué)著,我們還需要安裝bs4,或者又學(xué)著學(xué)著,我們還需要安裝scrapy,再學(xué)著學(xué)著,又需要安裝lxml...
嗯...,沒錯(cuò),我們安裝了很多的第三方庫(kù),但是我們?nèi)匀幻刻爨似で弥a,絲毫沒有發(fā)現(xiàn)任何問題。如果你用的是Pycharm,直到有一天,你會(huì)發(fā)現(xiàn)你的Pycharm會(huì)啟動(dòng)越來越慢,就比如下圖這樣。
嗯...我的算是比較快了,因?yàn)槲矣袃?yōu)化過了。
這只是其中一個(gè)問題,還有一個(gè)問題就是,比如你幫別人做了個(gè)東西,肯定所有的功能都不是自己寫的,有一些東西是別人寫的,你需要安裝一些第三方包。之后你咔咔咔把代碼寫完了,你懷著興奮的心情把東西發(fā)給他,然后他發(fā)現(xiàn)自己竟然用不了,而且那邊還會(huì)報(bào)下圖所示的錯(cuò)誤...
然后你還要一步一步一步教他安裝,嗯,多么的痛苦!關(guān)鍵是,能一步安裝到位還好,但是很可能的是,你用的某個(gè)包版本是2.0,現(xiàn)在最新版本是2.2,他那邊直接pip install package,安裝的是最新版本的包,可能和你的效果不太一樣。哦嚯,完了,又是莫名其妙的調(diào)試。嗯...騷年,加班吧...
上面說的,只是其中的一些問題,但是大概我們能猜測(cè)出來,如果我們不對(duì)我們的第三方庫(kù)加以管理,可能會(huì)造成莫名其妙的問題,導(dǎo)致效率低下,bug多,如果是一個(gè)團(tuán)隊(duì)的話,我想會(huì)更糟糕,后果不堪設(shè)想。
那說到這里,我們有沒有什么辦法,能夠管理一下這些東西呢?
答案是肯定的,我們能想到這個(gè)問題,我們的大佬前輩當(dāng)然也想到了,他都替我們安排好了,我們來一一講解。
/3 virtualenv登場(chǎng)/
咱們今天就來說一下Python的虛擬環(huán)境,可能有的小伙伴會(huì)疑惑,Python的虛擬環(huán)境有什么用呢?接下來我們一起來探討一下。
virtualenv這個(gè)是目前最通用的虛擬環(huán)境,安裝(直接安裝最新版)指令是:pip3 install virtualenv,其安裝中間過程,這里就不展開了,等著裝完就行。這里重點(diǎn)講一下virtualenv的具體操作步驟。
1、新建虛擬環(huán)境列表文件夾,專門用于存放虛擬環(huán)境。
2、之后輸入cmd命令,切換到該虛擬環(huán)境文件夾下,如下圖所示。
3、之后執(zhí)行命令 virtualenv spider --no-site-packages,其中參數(shù)--no-site-packages表示我們就創(chuàng)建一個(gè)干凈的、沒有第三方包的干凈的環(huán)境,如下圖所示。
這樣我們就創(chuàng)建了一個(gè)虛擬環(huán)境,但是此時(shí)我們并沒有使用,我們?cè)趫?zhí)行pip install package時(shí),依然還是安裝那個(gè)真實(shí)的環(huán)境上。
4、接下來我們需要進(jìn)入并且激活spider虛擬環(huán)境。
cd spider
cd scripts
activate
當(dāng)前面有顯示(spider)時(shí),表示我們已經(jīng)進(jìn)入了虛擬環(huán)境。這時(shí)候我們?cè)賵?zhí)行pip install package時(shí),就可以講庫(kù)安裝在該新建的虛擬環(huán)境里了,如下圖所示。
5、下圖這個(gè)是我的虛擬環(huán)境。
6、下圖這個(gè)是我的真實(shí)環(huán)境。
7、在虛擬環(huán)境中安裝第三方包,以安裝requests庫(kù)為例,如下圖所示。在虛擬環(huán)境中輸入安裝指令:pip install requests,可以看到庫(kù)的具體下載進(jìn)度條。
8、Ok,我們創(chuàng)建完了虛擬環(huán)境,但是應(yīng)該怎么退出呢?
直接在虛擬環(huán)境中執(zhí)行deactivate命令,就可以退出虛擬環(huán)境了,有的可能需要.bat,有的不需要,如下圖所示。
退出之后,我們可以看到左邊的(spider)已經(jīng)沒有了,進(jìn)入到了我們的真實(shí)環(huán)境。如果我們需要再創(chuàng)建虛擬環(huán)境,如法炮制就好了。
/4 簡(jiǎn)單總結(jié)/
這篇文章主要介紹了一下Python的虛擬環(huán)境,闡述了虛擬環(huán)境的重要以及虛擬環(huán)境創(chuàng)建、使用和退出的具體操作步驟,希望對(duì)大家入門Python虛擬環(huán)境有幫助,后面我會(huì)寫一篇關(guān)于Pycharm下如何使用虛擬環(huán)境的教程,教大家在Pycharm中導(dǎo)入虛擬環(huán)境,讓你的環(huán)境不再亂糟糟。


