OpenStack基础知识-virtualenv工具详解
1、virtualenv介紹
virtualenv通過創(chuàng)建一個單獨的虛擬化python運行環(huán)境,將我們所需的依賴安裝進去,不同項目之間相互不干擾,從而解決不同的項目之間依賴不同,造成的沖突問題
2、安裝virtualenv
通過pip命令,安裝virtualenv軟件包
pip install virtualenv
如果安裝不成功也可以下載virtualenv源碼包,通過執(zhí)行python install setup.py 來安裝virtualenv。因為python2和python3的不同,因此有了pip python和pip3 python 兩種包安裝工具,而兩種工具安裝的virtualenv也是不相同的,py2安裝的virtualenv虛擬化出來的python運行環(huán)境是python2的,py3安裝的virtualenv默認虛擬化環(huán)境則是python3的。
備注:
在安裝virtualenv之前,我們需要安裝至少有一個版本的python;因為virtualenv是python的一個第三方模塊,必須基于python環(huán)境才能安裝;
3、virtualenv運行使用
1)創(chuàng)建虛擬化環(huán)境
在項目所在目錄下,執(zhí)行virtualenv venv命令,便會在當(dāng)前的項目中創(chuàng)建venv文件夾,為當(dāng)前項目的虛擬python運行環(huán)境,venv為虛擬環(huán)境目錄名,該目錄名可以為任意的名稱,只是習(xí)慣上使用venv名稱。venv目錄下,會隨之生成bin、include、lib目錄,及pip-selfcheck.json文件。如果需要選擇一個特定的python解釋器來創(chuàng)建虛擬化環(huán)境,命令則為
virtualenv -p /usr/bin/python2.7 venv ,p參數(shù)后面跟python解釋器的路徑
或
virtualenv --python=/usr/bin/python2.7 venv
默認情況下,使用的python解釋器是virtualenv所在環(huán)境的系統(tǒng)的python解釋器版本
2)啟用虛擬化環(huán)境
在項目目錄下執(zhí)行source venv/bin/activate,激活虛擬化環(huán)境,激活后,在控制臺會有一個帶有(venv)的標(biāo)志提示,從現(xiàn)在起,任何你使用pip安裝的包將會放在 venv 文件夾中,與全局安裝的Python隔絕開。
3)安裝依賴
創(chuàng)建并激活virtualenv環(huán)境后我們就可以正常的方式來使用和安裝python安裝包及模塊了。也可以直接切換到需要執(zhí)行的python文件目錄,使用python xxx.py來保證在隔離環(huán)境下執(zhí)行python文件。即:我們在需要使用virtualenv環(huán)境之前,需要先激活然后使用以往同樣的方式來執(zhí)行python操作、運行python文件即可
備注:
在venv的環(huán)境中,不需要root權(quán)限,直接就可以用pip進行安裝,使用pip安裝的包都不會再是全局性的包,
只會在當(dāng)前的虛擬環(huán)境中起作用,避免了污染系統(tǒng)環(huán)境。
4)退出當(dāng)前系統(tǒng)環(huán)境
在控制臺中輸入命令deactivate后,就會退出當(dāng)前的venv虛擬化環(huán)境。這將會回到系統(tǒng)默認的Python解釋器,包括已安裝的庫也會回到默認的。要刪除一個虛擬環(huán)境,只需刪除它的文件夾。(執(zhí)行 rm -rf venv )
4、virtualenv其他命令
virtualenv [OPTIONS] DEST_DIR
選項:
–version
顯示當(dāng)前版本號。
-h, –help
顯示幫助信息。
-v, –verbose
顯示詳細信息。
-q, –quiet
不顯示詳細信息。
-p PYTHON_EXE, –python=PYTHON_EXE
指定所用的python解析器的版本,比如 –python=python2.5 就使用2.5版本的解析器創(chuàng)建新的隔離環(huán)境。 默認使用的是當(dāng)前系統(tǒng)安裝(/usr/bin/python)的python解析器
通常當(dāng)你的系統(tǒng)中安裝了多個python版本時會用到;默認情況下virtualenv會優(yōu)先選取它的宿主python環(huán)境,即它安裝在那個python版本下就會默認選擇哪個版本作為默認python隔離環(huán)境。
–clear
清空非root用戶的安裝,并重頭開始創(chuàng)建隔離環(huán)境。
–no-site-packages
令隔離環(huán)境不能訪問系統(tǒng)全局的site-packages目錄。
–system-site-packages
令隔離環(huán)境可以訪問系統(tǒng)全局的site-packages目錄。
–unzip-setuptools
安裝時解壓Setuptools或Distribute
–relocatable
重定位某個已存在的隔離環(huán)境。使用該選項將修正腳本并令所有.pth文件使用相當(dāng)路徑。
–distribute
使用Distribute代替Setuptools,也可設(shè)置環(huán)境變量VIRTUALENV_DISTRIBUTE達到同樣效要。
–extra-search-dir=SEARCH_DIRS
用于查找setuptools/distribute/pip發(fā)布包的目錄??梢蕴砑尤我鈹?shù)量的–extra-search-dir路徑。
–never-download
禁止從網(wǎng)上下載任何數(shù)據(jù)。此時,如果在本地搜索發(fā)布包失敗,virtualenv就會報錯。
–prompt==PROMPT
定義隔離環(huán)境的命令行前綴
5、其他知識點
1)virtualenv就是一個搭建虛擬化python環(huán)境的軟件,便于不同的項目在同一臺機器上開發(fā)運行。
2)virtualenv更多的還是適用于本地開發(fā)不同的項目,但是在生產(chǎn)環(huán)境中還是使用docker給不同的項目創(chuàng)建不同的容器,各自分開運行為好,不宜放在一個單獨的物理機中運行。
3)virtual的啟動、停止腳本都在特定文件夾,可能一段時間后,你可能會有很多個虛擬環(huán)境散落在系統(tǒng)各處,你可能忘記它們的名字或者位置,virtualenvwrapper工具,
對virtual虛擬環(huán)境集中管理,它把你所有的虛擬環(huán)境都放在一個地方
轉(zhuǎn)載于:https://www.cnblogs.com/potato-chip/p/9095327.html
總結(jié)
以上是生活随笔為你收集整理的OpenStack基础知识-virtualenv工具详解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 深入理解Python中的元类(metac
- 下一篇: iOS 14 小组件时钟不准解决办法