电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

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

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

瀏覽:3日期: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)境中。互不影響。

為了方便大家對虛擬環(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)境使用相同的第三方包。可以使用如下方法:

# 導(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)文章:
主站蜘蛛池模板: T恤衫定做,企业文化衫制作订做,广告T恤POLO衫定制厂家[源头工厂]-【汉诚T恤定制网】 | 全温度恒温培养摇床-大容量-立式-远红外二氧化碳培养箱|南荣百科 | 酒万铺-酒水招商-酒水代理 | 电动手术床,医用护理床,led手术无影灯-曲阜明辉医疗设备有限公司 | 山东限矩型液力偶合器_液力耦合器易熔塞厂家-淄博市汇川源机械厂 | 3A别墅漆/3A环保漆_广东美涂士建材股份有限公司【官网】 | 鹤壁创新仪器公司-全自动量热仪,定硫仪,煤炭测硫仪,灰熔点测定仪,快速自动测氢仪,工业分析仪,煤质化验仪器 | 欧美日韩国产一区二区三区不_久久久久国产精品无码不卡_亚洲欧洲美洲无码精品AV_精品一区美女视频_日韩黄色性爱一级视频_日本五十路人妻斩_国产99视频免费精品是看4_亚洲中文字幕无码一二三四区_国产小萍萍挤奶喷奶水_亚洲另类精品无码在线一区 | 篷房[仓储-婚庆-展览-活动]生产厂家-江苏正德装配式帐篷有限公司 | 电液推杆生产厂家|电动推杆|液压推杆-扬州唯升机械有限公司 | 欧洲MV日韩MV国产_人妻无码一区二区三区免费_少妇被 到高潮喷出白浆av_精品少妇自慰到喷水AV网站 | 桁架机器人_桁架机械手_上下料机械手_数控车床机械手-苏州清智科技装备制造有限公司 | 高低温老化试验机-步入式/低温恒温恒湿试验机-百科 | 不锈钢复合板厂家_钛钢复合板批发_铜铝复合板供应-威海泓方金属复合材料股份有限公司 | 苹果售后维修点查询,苹果iPhone授权售后维修服务中心 – 修果网 拼装地板,悬浮地板厂家,悬浮式拼装运动地板-石家庄博超地板科技有限公司 | 钢衬四氟管道_钢衬四氟直管_聚四氟乙烯衬里管件_聚四氟乙烯衬里管道-沧州汇霖管道科技有限公司 | 北京网站建设公司_北京网站制作公司_北京网站设计公司-北京爱品特网站建站公司 | 隆众资讯-首页_大宗商品资讯_价格走势_市场行情 | 硅胶管挤出机厂家_硅胶挤出机生产线_硅胶条挤出机_臣泽智能装备 贵州科比特-防雷公司厂家提供贵州防雷工程,防雷检测,防雷接地,防雷设备价格,防雷产品报价服务-贵州防雷检测公司 | 衡阳耐适防护科技有限公司——威仕盾焊接防护用品官网/焊工手套/焊接防护服/皮革防护手套 | 不锈钢法兰-碳钢法兰-法兰盘生产加工厂家-[鼎捷峰]-不锈钢法兰-碳钢法兰-法兰盘生产加工厂家-[鼎捷峰] | 咖啡加盟-咖啡店加盟-咖啡西餐厅加盟-塞纳左岸咖啡西餐厅官网 | 防水试验机_防水测试设备_防水试验装置_淋雨试验箱-广州岳信试验设备有限公司 | 货车视频监控,油管家,货车油管家-淄博世纪锐行电子科技 | 对夹式止回阀_对夹式蝶形止回阀_对夹式软密封止回阀_超薄型止回阀_不锈钢底阀-温州上炬阀门科技有限公司 | 智能楼宇-楼宇自控系统-楼宇智能化-楼宇自动化-三水智能化 | 广州展览制作|展台制作工厂|展览设计制作|展览展示制作|搭建制作公司 | 玻璃钢板-玻璃钢防腐瓦-玻璃钢材料-广东壹诺 | 爱德华真空泵油/罗茨泵维修,爱发科-比其尔产品供应东莞/杭州/上海等全国各地 | 标准件-非标紧固件-不锈钢螺栓-非标不锈钢螺丝-非标螺母厂家-三角牙锁紧自攻-南京宝宇标准件有限公司 | 吨袋包装机|吨包秤|吨包机|集装袋包装机-烟台华恩科技 | 手术室净化装修-手术室净化工程公司-华锐手术室净化厂家 | 武汉天安盾电子设备有限公司 - 安盾安检,武汉安检门,武汉安检机,武汉金属探测器,武汉测温安检门,武汉X光行李安检机,武汉防爆罐,武汉车底安全检查,武汉液体探测仪,武汉安检防爆设备 | 考勤系统_考勤管理系统_网络考勤软件_政企|集团|工厂复杂考勤工时统计排班管理系统_天时考勤 | 回转炉,外热式回转窑,回转窑炉-淄博圣元窑炉工程有限公司 | 飞行者联盟-飞机模拟机_无人机_低空经济_航空技术交流平台 | 聚合氯化铝-碱式氯化铝-聚合硫酸铁-聚氯化铝铁生产厂家多少钱一吨-聚丙烯酰胺价格_河南浩博净水材料有限公司 | 激光内雕_led玻璃_发光玻璃_内雕玻璃_导光玻璃-石家庄明晨三维科技有限公司 激光内雕-内雕玻璃-发光玻璃 | 两头忙,井下装载机,伸缩臂装载机,30装载机/铲车,50装载机/铲车厂家_价格-莱州巨浪机械有限公司 | 进口便携式天平,外校_十万分之一分析天平,奥豪斯工业台秤,V2000防水秤-重庆珂偌德科技有限公司(www.crdkj.com) | 钢木实验台-全钢实验台-化验室通风柜-实验室装修厂家-杭州博扬实验设备 |