色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁技術(shù)文章
文章詳情頁

Python 中如何使用 virtualenv 管理虛擬環(huán)境

瀏覽:6日期:2022-06-29 14:07:51
1. 什么是虛擬環(huán)境?

虛擬環(huán)境的意義,就如同 虛擬機(jī) 一樣,它可以實現(xiàn)不同環(huán)境中Python依賴包相互獨立,互不干擾。

舉個例子吧。

假設(shè)我們的電腦里有兩個項目,他們都用到同一個第三方包,本來一切都順利。但是由于某種原因,項目B由于某些原因要使用這個第三方包的一些新特性(新版本才有),而如果就這樣貿(mào)然升級了,對項目A的影響我們無法評估,這個時候我們就特別需要有一種解決方案可以讓項目A和B,處于兩個不同的Python環(huán)境中?;ゲ挥绊憽?/p>

為了方便大家對虛擬環(huán)境有個認(rè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 的一組擴(kuò)展。

工具很多,但個人認(rèn)為最好用的,當(dāng)屬 virtualenvwrapper,推薦大家也使用。

2. virtualenv

由于 virtualenvwrapper 是 virtualenv 的一組擴(kuò)展,所以如果要使用 virtualenvwrapper,就必須先安裝 virtualenv。

安裝基本使用*

由于virtualenv創(chuàng)建虛擬環(huán)境是在當(dāng)前環(huán)境下創(chuàng)建的。所以我們要準(zhǔn)備一個專門存放虛擬環(huán)境的目錄。(以下操作在Linux在完成,windows相對簡單,請自行完成,有不明白的請微信與我聯(lián)系。)

創(chuàng)建

# 準(zhǔn)備目錄并進(jìn)入$ mkdir -p /home/wangbm/Envs$ cd !$# 創(chuàng)建虛擬環(huán)境(按默認(rèn)的Python版本)# 執(zhí)行完,當(dāng)前目錄下會有一個my_env01的目錄$ virtualenv my_env01# 你也可以指定版本$ virtualenv -p /usr/bin/python2.7 my_env01$ virtualenv -p /usr/bin/python3.6 my_env02# 你肯定覺得每次都要指定版本,相當(dāng)麻煩吧?# 在Linux下,你可以把這個選項寫進(jìn)入環(huán)境變量中$ echo 'export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python2.7' >> ~/.bashrc進(jìn)入/退出

$ cd /home/wangbm/Envs# 進(jìn)入$ 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)境使用相同的第三方包??梢允褂萌缦路椒ǎ?/p>

# 導(dǎo)出依賴包$ pip freeze > requirements.txt# 安裝依賴包$ pip install -r requirements.txt 3. virtualenvwrapper

virtualenv 雖然已經(jīng)相當(dāng)好用了,可是功能還是不夠完善。

你可能也發(fā)現(xiàn)了,要進(jìn)入虛擬環(huán)境,必須得牢記之前設(shè)置的虛擬環(huán)境目錄,如果你每次按規(guī)矩來,都將環(huán)境安裝在固定目錄下也沒啥事。但是很多情況下,人是會懶惰的,到時可能會有很多個虛擬環(huán)境散落在系統(tǒng)各處,你將有可能忘記它們的名字或者位置。

還有一點,virtualenv 切換環(huán)境需要兩步,退出 -> 進(jìn)入。不夠簡便。

為了解決這兩個問題,virtualenvwrapper就誕生了。

安裝

# 安裝 - Linuxpip install virtualenvwrapper# 安裝 - Windowspip install virtualenvwrapper-win配置

先find一下virtualenvwrapper.sh文件的位置

find / -name virtualenvwrapper.sh# /usr/bin/virtualenvwrapper.sh

若是 windows 則使用everything 查找 virtualenvwrapper.bat 腳本

D:Program Files (x86)Python38-32Scriptsvirtualenvwrapper.bat

在~/.bashrc 文件新增配置

export WORKON_HOME=$HOME/.virtualenvsexport PROJECT_HOME=$HOME/workspaceexport VIRTUALENVWRAPPER_SCRIPT=/usr/bin/virtualenvwrapper.shsource /usr/bin/virtualenvwrapper.sh

若是 windows 則新增環(huán)境變量:WORKON_HOME

Python 中如何使用 virtualenv 管理虛擬環(huán)境

基本語法:

mkvirtualenv [-a project_path] [-i package] [-r requirements_file] [virtualenv options] ENVNAME

常用方法

# 創(chuàng)建$ mkvirtualenv my_env01# 進(jìn)入$ workon my_env01# 退出$ deactivate# 列出所有的虛擬環(huán)境,兩種方法$ workon$ lsvirtualenv# 在虛擬環(huán)境內(nèi)直接切換到其他環(huán)境$ workon my_env02# 刪除虛擬環(huán)境$ rmvirtualenv my_env01其他命令

# 列出幫助文檔$ virtualenvwrapper# 拷貝虛擬環(huán)境$ cpvirtualenv ENVNAME [TARGETENVNAME]# 在所有的虛擬環(huán)境上執(zhí)行命令$ allvirtualenv pip install -U pip# 刪除當(dāng)前環(huán)境的所有第三方包$ wipeenv# 進(jìn)入到當(dāng)前虛擬環(huán)境的目錄$ cdsitepackages# 進(jìn)入到當(dāng)前虛擬環(huán)境的site-packages目錄$ cdvirtualenv# 顯示 site-packages 目錄中的內(nèi)容$ lssitepackages

更多內(nèi)容,可查看 官方文檔https://virtualenvwrapper.rea...

4. 實戰(zhàn)演示

以上內(nèi)容,是一份使用指南。接下來,一起來看看,如何在項目中使用虛擬環(huán)境。

如何使用在我們的開發(fā)中使用我們的虛擬環(huán)境呢

通常我們使用的場景有如下幾種

交互式中 PyCharm中 工程中

接下來,我將一一展示。

4.1 交互式中

先對比下,全局環(huán)境和虛擬環(huán)境的區(qū)別,全局環(huán)境中有requests包,而虛擬環(huán)境中并未安裝。當(dāng)我們敲入 workon my_env01,前面有my_env01的標(biāo)識,說明我們已經(jīng)處在虛擬環(huán)境中。后面所有的操作,都將在虛擬環(huán)境下執(zhí)行。

Python 中如何使用 virtualenv 管理虛擬環(huán)境

4.2 工程項目中

我們的工程項目,都有一個入口文件,仔細(xì)觀察,其首行可以指定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)境有效果。

Python 中如何使用 virtualenv 管理虛擬環(huán)境

4.3 PyCharm中

點擊 File - Settings - Project - Interpreter

Python 中如何使用 virtualenv 管理虛擬環(huán)境

點擊小齒輪。如圖點擊添加,按提示添加一個虛擬環(huán)境。然后點 OK 就可以使用這個虛擬環(huán)境,之后的項目都會在這個虛擬環(huán)境下運行。

Python 中如何使用 virtualenv 管理虛擬環(huán)境

以上就是Python 中使用 virtualenv 管理虛擬環(huán)境的方法的詳細(xì)內(nèi)容,更多關(guān)于python 用virtualenv 管理虛擬環(huán)境的資料請關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 日韩中文字幕在线亚洲一区 | 久久免费精品一区二区 | 亚洲视频偷拍自拍 | 九九在线精品视频xxx | 国产免费高清在线精品一区 | 国产成人一区二区三区视频免费 | 成人午夜视频在线播放 | 1024香蕉国产在线视频 | 精品国产免费观看一区 | www.黄色免费网站 | 国产成人亚洲精品无广告 | 午夜免费69性视频爽爽爽 | 福利云 | 亚洲国产成人久久综合一 | 91亚洲精品久久91 | 九九色综合网 | 欧美日韩视频一区二区在线观看 | 成年片免费网址网站 | 久草在线中文最新视频 | 中文字幕在线观看日韩 | 自拍视频在线观看视频精品 | 96精品视频在线播放免费观看 | 一级aaa毛片 | 亚洲 自拍 另类 欧美 综合 | 欧美成人小视频 | 美女张开双腿让男人桶视频免费 | 久久国产一区二区三区 | 久久99中文字幕 | 亚洲免费在线视频 | 未成人做爰视频www 窝窝午夜精品一区二区 | 成人久久视频 | 三级黄色片网站 | 日韩精品欧美国产精品亚 | 国产一二三区在线 | 欧美一级日韩在线观看 | 欧美成亚洲 | 免费久草视频 | 国产在线精品一区二区高清不卡 | 国产成人区 | 欧美亚洲中日韩中文字幕在线 | 日韩经典视频 |