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