小編給大家分享一下Python虛擬環(huán)境的示例分析,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!
在網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計中從網(wǎng)站色彩、結(jié)構(gòu)布局、欄目設(shè)置、關(guān)鍵詞群組等細微處著手,突出企業(yè)的產(chǎn)品/服務(wù)/品牌,幫助企業(yè)鎖定精準用戶,提高在線咨詢和轉(zhuǎn)化,使成都網(wǎng)站營銷成為有效果、有回報的無錫營銷推廣。成都創(chuàng)新互聯(lián)公司專業(yè)成都網(wǎng)站建設(shè)十多年了,客戶滿意度97.8%,歡迎成都創(chuàng)新互聯(lián)客戶聯(lián)系。虛擬環(huán)境的意義,就如同 虛擬機 一樣,它可以實現(xiàn)不同環(huán)境中Python依賴包相互獨立,互不干擾。這在一定程度的意義上,給了我們的項目一份很有力的保障。在這里,我把它戲稱為「保險」。全網(wǎng)唯一。
舉個例子吧。
假設(shè)我們的電腦里有兩個項目,他們都用到同一個第三方包,本來一切都順利。但是由于某種原因,項目B由于某些原因要使用這個第三方包的一些新特性(新版本才有),而如果就這樣貿(mào)然升級了,對項目A的影響我們無法評估,這個時候我們就特別需要有一種解決方案可以讓項目A和B,處于兩個不同的Python環(huán)境中?;ゲ挥绊?。
為了方便大家對虛擬環(huán)境有個認識,我列舉了下其優(yōu)點:
使不同應(yīng)用開發(fā)環(huán)境獨立
環(huán)境升級不影響其他應(yīng)用,也不會影響全局的python環(huán)境
可以防止系統(tǒng)中出現(xiàn)包管理混亂和版本的沖突
市場上管理 Python 版本和環(huán)境的工具有很多,這里列舉幾個:
p:非常簡單的交互式 python 版本管理工具。
pyenv:簡單的 Python 版本管理工具。
Vex:可以在虛擬環(huán)境中執(zhí)行命令。
virtualenv:創(chuàng)建獨立 Python 環(huán)境的工具。
virtualenvwrapper:virtualenv 的一組擴展。
工具很多,但個人認為最好用的,當屬 virtualenvwrapper,推薦大家也使用。
由于 virtualenvwrapper 是 virtualenv 的一組擴展,所以如果要使用 virtualenvwrapper,就必須先安裝 virtualenv。
安裝
pip install virtualenv# 檢查版本virtualenv --version
由于virtualenv創(chuàng)建虛擬環(huán)境是在當前環(huán)境下創(chuàng)建的。所以我們要準備一個專門存放虛擬環(huán)境的目錄。(以下操作在Linux在完成,windows相對簡單,請自行完成,有不明白的請qq與我聯(lián)系。)
創(chuàng)建
準備目錄并進行$ mkdir -p /home/wangbm/Envs$ cd !$# 創(chuàng)建虛擬環(huán)境(按默認的Python版本)# 執(zhí)行完,當前目錄下會有一個my_env01的目錄$ virtualenv my_env01# 你也可以指定版本$ virtualenv -p /usr/bin/python2.7 my_env01$ virtualenv -p /usr/bin/python3.6 my_env02# 你肯定覺得每次都要指定版本,相當麻煩吧?# 在Linux下,你可以把這個選項寫進入環(huán)境變量中$ echo "export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python2.7" >> ~/.bashrc
進入/退出
$ cd /home/wangbm/Envs# 進入 $ source my_env01/bin/activate# 退出$ deactivate
刪除虛擬環(huán)境,只需刪除對應(yīng)的文件夾就行了。并不會影響全局的Python和其他環(huán)境。
$ cd /home/wangbm/Envs$ rm -rf my_env01
注意:創(chuàng)建的虛擬環(huán)境,不會包含原生全局環(huán)境的第三方包,其會保證新建虛擬環(huán)境的干凈。
如果你需要和全局環(huán)境使用相同的第三方包。可以使用如下方法:
# 導(dǎo)出依賴包$ pip freeze > requirements.txt # 安裝依賴包$ pip install -r requirements.txt
##3 . virtualenvwrapper
virtualenv 雖然已經(jīng)相當好用了,可是功能還是不夠完善。
你可能也發(fā)現(xiàn)了,要進入虛擬環(huán)境,必須得牢記之前設(shè)置的虛擬環(huán)境目錄,如果你每次按規(guī)矩來,都將環(huán)境安裝在固定目錄下也沒啥事。但是很多情況下,人是會懶惰的,到時可能會有很多個虛擬環(huán)境散落在系統(tǒng)各處,你將有可能忘記它們的名字或者位置。
還有一點,virtualenv 切換環(huán)境需要兩步,退出 -> 進入。不夠簡便。
為了解決這兩個問題,virtualenvwrapper就誕生了。
安裝
# 安裝 - Linuxpip install virtualenvwrapper # 安裝 - Windowspip install virtualenvwrapper-win
配置先find一下virtualenvwrapper.sh文件的位置
find / -name virtualenvwrapper.sh # /usr/bin/virtualenvwrapper.sh
在~/.bashrc 文件新增
export WORKON_HOME=$HOME/.virtualenvsexport PROJECT_HOME=$HOME/workspaceexport VIRTUALENVWRAPPER_SCRIPT=/usr/bin/virtualenvwrapper.shsource /usr/bin/virtualenvwrapper.sh
接下來,一起來看看,如何使用在我們的開發(fā)中使用我們的虛擬環(huán)境呢
通常我們使用的場景有如下幾種
交互式中
PyCharm中
工程中
接下來,我將一一展示。
交互式中
先對比下,全局環(huán)境和虛擬環(huán)境的區(qū)別,全局環(huán)境中有requests包,而虛擬環(huán)境中并未安裝。當我們敲入 workon my_env01,前面有 my_env01的標識,說明我們已經(jīng)處在虛擬環(huán)境中。后面所有的操作,都將在虛擬環(huán)境下執(zhí)行。
工程項目中
我們的工程項目,都有一個入口文件,仔細觀察,其首行可以指定Python解釋器。
倘若我們要在虛擬環(huán)境中運行這個項目,只要更改這個文件頭部即可。
現(xiàn)在我還是以,import requests 為例,來說明,是否是在虛擬環(huán)境下運行的,如果是,則和上面一樣,會報錯。
文件內(nèi)容:
#!/root/.virtualenvs/my_env01/bin/pythonimport requestsprint "ok"
運行前,注意添加執(zhí)行權(quán)限。
$ chmod +x ming.py
好了。來執(zhí)行一下
$ ./ming.py
發(fā)現(xiàn)和預(yù)期一樣,真的報錯了。說明我們指定的虛擬環(huán)境有效果。
PyCharm中
點擊 File - Settings - Project - Interpreter
點擊小齒輪。如圖點擊添加,按提示添加一個虛擬環(huán)境。然后點 OK 就可以使用這個虛擬環(huán)境,之后的項目都會在這個虛擬環(huán)境下運行。
看完了這篇文章,相信你對“Python虛擬環(huán)境的示例分析”有了一定的了解,如果想了解更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
網(wǎng)頁標題:Python虛擬環(huán)境的示例分析-創(chuàng)新互聯(lián)
鏈接地址:http://aaarwkj.com/article14/ieode.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站建設(shè)、企業(yè)網(wǎng)站制作、網(wǎng)站改版、網(wǎng)站設(shè)計、外貿(mào)建站、用戶體驗
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)