您好,登錄后才能下訂單哦!
/1 前言/
咱們今天就來說一下Python的虛擬環境,可能有的小伙伴會疑惑,Python的虛擬環境有什么用呢?接下來我們一起來探討一下。
/2 虛擬環境的作用/
咱們今天就來說一下Python的虛擬環境,可能有的小伙伴會疑惑,Python的虛擬環境有什么用呢?接下來我們一起來探討一下。
我們先來舉個例子,來說明為什么需要虛擬環境。我們在學習Python的時候,可能會學到越來越多的第三方庫,比如爬蟲,我們需要安裝requests,可能學著學著,我們還需要安裝bs4,或者又學著學著,我們還需要安裝scrapy,再學著學著,又需要安裝lxml...
嗯...,沒錯,我們安裝了很多的第三方庫,但是我們仍然每天嗨皮敲著代碼,絲毫沒有發現任何問題。如果你用的是Pycharm,直到有一天,你會發現你的Pycharm會啟動越來越慢,就比如下圖這樣。
嗯...我的算是比較快了,因為我有優化過了。
這只是其中一個問題,還有一個問題就是,比如你幫別人做了個東西,肯定所有的功能都不是自己寫的,有一些東西是別人寫的,你需要安裝一些第三方包。之后你咔咔咔把代碼寫完了,你懷著興奮的心情把東西發給他,然后他發現自己竟然用不了,而且那邊還會報下圖所示的錯誤...
然后你還要一步一步一步教他安裝,嗯,多么的痛苦!關鍵是,能一步安裝到位還好,但是很可能的是,你用的某個包版本是2.0,現在最新版本是2.2,他那邊直接pip install package,安裝的是最新版本的包,可能和你的效果不太一樣。哦嚯,完了,又是莫名其妙的調試。嗯...騷年,加班吧...
上面說的,只是其中的一些問題,但是大概我們能猜測出來,如果我們不對我們的第三方庫加以管理,可能會造成莫名其妙的問題,導致效率低下,bug多,如果是一個團隊的話,我想會更糟糕,后果不堪設想。
那說到這里,我們有沒有什么辦法,能夠管理一下這些東西呢?
答案是肯定的,我們能想到這個問題,我們的大佬前輩當然也想到了,他都替我們安排好了,我們來一一講解。
/3 virtualenv登場/
咱們今天就來說一下Python的虛擬環境,可能有的小伙伴會疑惑,Python的虛擬環境有什么用呢?接下來我們一起來探討一下。
virtualenv這個是目前最通用的虛擬環境,安裝(直接安裝最新版)指令是:pip3 install virtualenv,其安裝中間過程,這里就不展開了,等著裝完就行。這里重點講一下virtualenv的具體操作步驟。
1、新建虛擬環境列表文件夾,專門用于存放虛擬環境。
2、之后輸入cmd命令,切換到該虛擬環境文件夾下,如下圖所示。
3、之后執行命令 virtualenv spider --no-site-packages,其中參數--no-site-packages表示我們就創建一個干凈的、沒有第三方包的干凈的環境,如下圖所示。
這樣我們就創建了一個虛擬環境,但是此時我們并沒有使用,我們在執行pip install package時,依然還是安裝那個真實的環境上。
4、接下來我們需要進入并且激活spider虛擬環境。
cd spider
cd Scripts
activate
當前面有顯示(spider)時,表示我們已經進入了虛擬環境。這時候我們再執行pip install package時,就可以講庫安裝在該新建的虛擬環境里了,如下圖所示。
5、下圖這個是我的虛擬環境。
6、下圖這個是我的真實環境。
7、在虛擬環境中安裝第三方包,以安裝requests庫為例,如下圖所示。在虛擬環境中輸入安裝指令:pip install requests,可以看到庫的具體下載進度條。
8、Ok,我們創建完了虛擬環境,但是應該怎么退出呢?
直接在虛擬環境中執行deactivate命令,就可以退出虛擬環境了,有的可能需要.bat,有的不需要,如下圖所示。
退出之后,我們可以看到左邊的(spider)已經沒有了,進入到了我們的真實環境。如果我們需要再創建虛擬環境,如法炮制就好了。
/4 簡單總結/
這篇文章主要介紹了一下Python的虛擬環境,闡述了虛擬環境的重要以及虛擬環境創建、使用和退出的具體操作步驟,希望對大家入門Python虛擬環境有幫助,后面我會寫一篇關于Pycharm下如何使用虛擬環境的教程,教大家在Pycharm中導入虛擬環境,讓你的環境不再亂糟糟。
本文由dcpeng 創作,采用 知識共享署名-相同方式共享 3.0 中國大陸許可協議 進行許可。
轉載、引用前需聯系作者,并署名作者且注明文章出處。
總結
以上所述是小編給大家介紹的手把手教你進行Python虛擬環境配置教程,希望對大家有所幫助!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。