更新時(shí)間:2023-03-08 來源:黑馬程序員 瀏覽量:
在實(shí)際開發(fā)Flask程序時(shí),程序的不同版本可能會(huì)依賴不同的環(huán)境,這時(shí)需要在系統(tǒng)中安裝多個(gè)版本的Python解釋器或依賴包,如果直接在物理環(huán)境中進(jìn)行配置,那么多個(gè)版本的Python解釋器之間可能會(huì)產(chǎn)生干擾。為了解決這個(gè)問題,我們需要使用virtualenv工具創(chuàng)建虛擬環(huán)境,以隔離不同版本的Python解釋器。
在使用virtualenv工具之前,我們需要先在計(jì)算機(jī)中安裝virtualenv工具。virtualenv工具可通過pip命令在線安裝,具體命令如下所示。
HTTP/1.1 200 OK
一臺(tái)計(jì)算機(jī)中可以創(chuàng)建多個(gè)虛擬環(huán)境,我們可以將不同版本的Python解釋器安裝到不同的虛擬環(huán)境中。
virtualenv 虛擬環(huán)境名 virtualenv -p Python解釋器的路徑虛擬環(huán)境名
上述命令中,第2行命令顯式指定了Python解釋器的安裝路徑。若通過第1行命令創(chuàng)建虛擬環(huán)境,則虛擬環(huán)境中使用的Python版本是由系統(tǒng)環(huán)境變量設(shè)置的Python解釋器決定的;若通過第2行命令創(chuàng)建虛擬環(huán)境,則虛擬環(huán)境中使用的Python版本是由用戶顯式指定的Python解釋器決定的。
例如,在E:\env_space目錄下通過第1行命令創(chuàng)建虛擬環(huán)境flask_env,具體命令如下所示。
E:\env_space> virtualenv flask_env
若希望使用虛擬環(huán)境,需要執(zhí)行虛擬環(huán)境目錄Scripts下的activate文件。例如,使用剛剛創(chuàng)建的虛擬環(huán)境flask_env,具體命令如下所示。
E:\env_space>.\flask_env\Scripts\activate
上述命令執(zhí)行后,當(dāng)前工作環(huán)境會(huì)切換至虛擬環(huán)境flask_env ,并顯示虛擬環(huán)境的名稱flask_env,具體如下所示。
(flask_env) E:\env_space>
使用deactivate命令可以退出當(dāng)前工作的虛擬環(huán)境。例如,使用deactivate命令退出虛擬環(huán)境flask_env,具體命令如下所示。
(flask_env) E:\env_space> deactivate E:\env_space>
不同的Flask項(xiàng)目可能會(huì)依賴不同的虛擬環(huán)境,若要在新計(jì)算機(jī)中運(yùn)行項(xiàng)目,就需要重復(fù)為該項(xiàng)目配置一套相同的虛擬環(huán)境,為了區(qū)分和記錄每個(gè)項(xiàng)目的依賴包及其版本,以便在新計(jì)算機(jī)中復(fù)現(xiàn)項(xiàng)目的虛擬環(huán)境,我們可以通過一個(gè)requirement.txt文件記錄項(xiàng)目的所有依賴包及其版本號(hào),以便在新計(jì)算機(jī)中實(shí)現(xiàn)一鍵安裝的效果。
需要說明的是,requirement.txt文件的名稱是開發(fā)者之間約定俗成的,也可以進(jìn)行重新命名。requirement.txt文件的使用一般分為以下兩步。
(1)通過pip命令將虛擬環(huán)境依賴的擴(kuò)展包及其版本號(hào)記錄到requirement.txt文件中,具體命令如下所示。
pip freeze > requirements.txt
(2)在新計(jì)算機(jī)中,通過pip命令根據(jù)requirement.txt文件記錄的依賴包及其版本號(hào)安裝相應(yīng)版本的依賴包,具體命令如下所示。
pip install -r requirements.txt