真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

如何在Python中使用irtualenv管理虛擬環(huán)境-創(chuàng)新互聯(lián)

如何在Python中使用 irtualenv 管理虛擬環(huán)境?很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。

創(chuàng)新互聯(lián)服務(wù)項(xiàng)目包括周至網(wǎng)站建設(shè)、周至網(wǎng)站制作、周至網(wǎng)頁制作以及周至網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,周至網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到周至省份的部分城市,未來相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!

1. 什么是虛擬環(huán)境?

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

舉個(gè)例子吧。

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

為了方便大家對(duì)虛擬環(huán)境有個(gè)認(rèn)識(shí),我列舉了下其優(yōu)點(diǎn):

  • 使不同應(yīng)用開發(fā)環(huán)境獨(dú)立

  • 環(huán)境升級(jí)不影響其他應(yīng)用,也不會(huì)影響全局的python環(huán)境

  • 可以防止系統(tǒng)中出現(xiàn)包管理混亂和版本的沖突


市場上管理 Python 版本和環(huán)境的工具有很多,這里列舉幾個(gè):

  • p:非常簡單的交互式 python 版本管理工具。

  • pyenv:簡單的 Python 版本管理工具。

  • Vex:可以在虛擬環(huán)境中執(zhí)行命令。

  • virtualenv:創(chuàng)建獨(dú)立 Python 環(huán)境的工具。

  • virtualenvwrapper:virtualenv 的一組擴(kuò)展。


工具很多,但個(gè)人認(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)備一個(gè)專門存放虛擬環(huán)境的目錄。(以下操作在Linux在完成,windows相對(duì)簡單,請自行完成,有不明白的請微信與我聯(lián)系。)

創(chuàng)建

# 準(zhǔn)備目錄并進(jìn)入
$ mkdir -p /home/wangbm/Envs
$ cd !$

# 創(chuàng)建虛擬環(huán)境(按默認(rèn)的Python版本)
# 執(zhí)行完,當(dāng)前目錄下會(huì)有一個(gè)my_env01的目錄
$ virtualenv my_env01

# 你也可以指定版本
$ virtualenv -p /usr/bin/python2.7 my_env01
$ virtualenv -p /usr/bin/python3.6 my_env02

# 你肯定覺得每次都要指定版本,相當(dāng)麻煩吧?
# 在Linux下,你可以把這個(gè)選項(xiàng)寫進(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)境,只需刪除對(duì)應(yīng)的文件夾就行了。并不會(huì)影響全局的Python和其他環(huán)境。

$ cd /home/wangbm/Envs
$ rm -rf my_env01

注意:
創(chuàng)建的虛擬環(huán)境,不會(huì)包含原生全局環(huán)境的第三方包,其會(huì)保證新建虛擬環(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ì)懶惰的,到時(shí)可能會(huì)有很多個(gè)虛擬環(huán)境散落在系統(tǒng)各處,你將有可能忘記它們的名字或者位置。

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

為了解決這兩個(gè)問題,virtualenvwrapper就誕生了。

安裝

# 安裝 - Linux
pip install virtualenvwrapper

# 安裝 - Windows
pip install virtualenvwrapper-win

配置

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

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

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

D:\Program Files (x86)\Python38-32\Scripts\virtualenvwrapper.bat

在~/.bashrc 文件新增配置

export WORKON_HOME=$HOME/.virtualenvs
export PROJECT_HOME=$HOME/workspace
export VIRTUALENVWRAPPER_SCRIPT=/usr/bin/virtualenvwrapper.sh
source /usr/bin/virtualenvwrapper.sh

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

如何在Python中使用 irtualenv 管理虛擬環(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. 實(shí)戰(zhàn)演示

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

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

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

  • 交互式中

  • PyCharm中

  • 工程中


接下來,我將一一展示。

4.1 交互式中

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

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

4.2 工程項(xiàng)目中

我們的工程項(xiàng)目,都有一個(gè)入口文件,仔細(xì)觀察,其首行可以指定Python解釋器。

倘若我們要在虛擬環(huán)境中運(yùn)行這個(gè)項(xiàng)目,只要更改這個(gè)文件頭部即可。

現(xiàn)在我還是以,import requests 為例,來說明,是否是在虛擬環(huán)境下運(yùn)行的,如果是,則和上面一樣,會(huì)報(bào)錯(cuò)。

文件內(nèi)容:

#!/root/.virtualenvs/my_env01/bin/python

import requests
print "ok"

運(yùn)行前,注意添加執(zhí)行權(quán)限。

$ chmod +x ming.py

好了。來執(zhí)行一下

$ ./ming.py

發(fā)現(xiàn)和預(yù)期一樣,真的報(bào)錯(cuò)了。說明我們指定的虛擬環(huán)境有效果。

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

4.3 PyCharm中

點(diǎn)擊 File - Settings - Project - Interpreter

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

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

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

看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對(duì)創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司,的支持。


分享文章:如何在Python中使用irtualenv管理虛擬環(huán)境-創(chuàng)新互聯(lián)
分享URL:http://weahome.cn/article/cesess.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部