日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

Python任務自動化工具tox使用教程

瀏覽:39日期:2022-08-02 10:04:55

1、tox 能做什么?

細分的用途包括:

創建開發環境 運行靜態代碼分析與測試工具 自動化構建包 針對 tox 構建的軟件包運行測試 檢查軟件包是否能在不同的 Python 版本/解釋器中順利安裝 統一持續集成(CI)和基于命令行的測試 創建和部署項目文檔 將軟件包發布到 PyPI 或任何其它平臺

tox 官方文檔中列出了 40 余種使用場景的示例,詳細的列表可查看:

https://tox.readthedocs.io/en/latest/examples.html

Python任務自動化工具tox使用教程

2、tox 怎么配置?

關于它的用法:使用pip install tox安裝,使用tox運行全部測試環境,和tox -e envname運行指定的環境。還有不少的命令行參數,通過tox -h查看。

tox 的行為由其配置文件控制,當前它支持 3 種配置文件:

pyproject.tomltox.inisetup.cfg

以 tox 項目自己的 tox.ini 配置內容為例,可以看到它是這樣配置的(https://github.com/tox-dev/tox/blob/master/tox.ini):

Python任務自動化工具tox使用教程

Python任務自動化工具tox使用教程

每個[xxx]及其下方內容組成一個章節(section),每個章節間使用空行作間隔。

[tox]下面是全局性的配置項,envlist 字段定義了 tox 去操作的環境。[xxx]下面是 xxx 虛擬環境的配置項,[xxx:yyy]繼承 xxx 的配置,同時其自身配置項的優先級更高。

對于每個虛擬環境,可用的配置項很多,例如常用的有:description(描述信息)、basepython(Python解釋器版本)、deps(環境依賴項)、commands(命令語句)等等。

tox 還支持作變量替換,它提供了一些內置的基礎變量(全局的或對于虛擬環境的):{toxinidir}、{homedir}、{envname}、{envdir}等等。

除了基礎性的變量替換,它還支持這些高級用法:

取操作系統的環境變量:{env:KEY},效果等同于os.environ[’KEY’] 。可以變化成:{env:KEY:DEFAULTVALUE},在取不到環境變量時則使用默認值;{env:KEY:{env:DEFAULT_OF_KEY}},達到 if-else 的取值效果 傳遞命令行參數:{posargs:DEFAULTS},當沒有命令行參數時,使用 DEFAULTS 值。使用方式:tox arg1 arg2 傳兩個參,或者tox -- --opt1 arg1 將“-- opt1 arg1”作為整體傳入。 章節間傳值:{[sectionname]valuename},不同章節的內容可以傳遞使用。 交互式控制臺注入:{tty:ON_VALUE:OFF_VALUE},當交互式 shell 控制臺開啟時,使用第一個值,否則使用第二個。pytest 在使用“--pdb”時,是這樣的例子。

花括號“{}”除了可以做變量替換使用,它還可以作為“或關系”判斷的取值。直接看下面的例子:

[tox]envlist = {py27,py36}-django{15,16}

{py27,py36}-django{15,16} 的 2 組花括號內各有 2 個值,它們實際可以組合成 4 個環境:py27-django15、py27-django16、py36-django15、py36-django16。

關于 tox 有哪些配置項、使用條件、什么含義、高級用法等等內容,可在官方文檔中查看:

https://tox.readthedocs.io/en/latest/config.html

3、tox 的插件化

除了自身強大的可配置性,tox 還具有很強的可擴展性,它是可插拔的(pluggable),圍繞它產生了一個極為豐富的插件生態。

使用pip search tox,可以看到數量眾多的“tox-”開頭的庫,它們都是 tox 的插件包。其中不乏 setuptools、pipenv、conda、travis、pytest、docker 等被大家熟知的名字。

Python任務自動化工具tox使用教程

tox 開放了挺多的 API 接口,方便其他人定制開發插件。

Python任務自動化工具tox使用教程

4、tox 的工作流程

接下來看看 tox 是怎么運作的:

Python任務自動化工具tox使用教程

其工作流程中主要的環節有:

配置(從figuration):加載配置文件(如 tox.ini),解析命令行參數,讀取系統環境變量等打包(packaging):可選的,對于帶有 setup.py 文件的項目,可以在這步去生成它的源發行版創建虛擬環境:默認使用 virtualenv 來創建虛擬環境,并根據配置項中的“deps”安裝所需的依賴項,然后執行配置好的命令(commands)

報告(report):匯總所有虛擬環境的運行結果并羅列出來

5、小結

tox 本身定位是一個測試工具,它試圖令 Pytho 測試工作變得自動化、標準化與流程化。但跟 unittest 和 pytest 這些測試框架不同,它作用的是代碼層面之外的事情,是一種項目級的工具。因此,它需要跟這些測試框架相結合,或者同時處理多種自動化任務(如跑 pep8、測代碼覆蓋率、生成文檔等等),這樣才能更好地發揮它的價值。

它的一大特色在于創建/管理虛擬環境,但這只是為了方便測試而使用的手段,因此相比其它可管理虛擬環境的工具,如 Virtualenvwrapper、conda、pipenv、poetry,它在某些方面就存在著不足。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Python 編程
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
麻豆理论在线观看| 国产视频一区欧美| 国产精品分类| 男女男精品视频网| 美女久久久久| 999国产精品永久免费视频app| 国产日韩中文在线中文字幕 | 精品中文字幕一区二区三区| 久热re这里精品视频在线6| 亚洲电影有码| 久久久久亚洲| 黑丝美女一区二区| 一级欧洲+日本+国产| 999久久久精品国产| 精品欧美一区二区三区在线观看| 精品国产一区二区三区av片| 国产精品久久久久久模特| 亚洲精品观看| 综合激情视频| 91精品国产自产精品男人的天堂 | 色网在线免费观看| 麻豆精品蜜桃| 伊人久久亚洲热| 国产精品日本| 日韩av中文在线观看| 国产精品天堂蜜av在线播放| 精品三区视频| 国产精品99一区二区| 蜜臀91精品国产高清在线观看| 久久九九99| 99视频精品| 亚洲人亚洲人色久| 日本在线成人| 国产高清亚洲| 日韩欧美一区二区三区免费看| 在线国产一区二区| 国产日韩欧美三级| 成人日韩在线| 欧美永久精品| 中文一区在线| 国产精品美女久久久久久不卡| 福利一区二区免费视频 | 国产精品白丝一区二区三区| 色天使综合视频| 日韩一区中文| 免费高潮视频95在线观看网站| 图片区亚洲欧美小说区| 日韩av不卡在线观看| av资源亚洲| 日韩高清电影一区| 国产综合精品一区| 国产欧美午夜| 天堂成人免费av电影一区| 精品久久亚洲| 国产精品久久久久久久久久久久久久久 | 亚洲深夜福利| 久久国产精品美女| 午夜国产精品视频| 麻豆91精品视频| 天堂精品久久久久| 国产在线日韩精品| 三级久久三级久久久| 午夜精品一区二区三区国产| 国产欧美日韩精品一区二区三区| 国产精品一国产精品k频道56| 男人的天堂久久精品| 国产精成人品2018| 日韩毛片网站| 亚洲精品影视| 一区在线免费| 欧美日韩国产高清| 国产精品xx| 精品99在线| 日韩免费一区| 特黄毛片在线观看| 日韩av在线播放网址| 国内自拍视频一区二区三区| 国产精品videossex久久发布 | 蜜臀a∨国产成人精品| av亚洲免费| 99国产精品| 亚洲视频二区| 日本精品一区二区三区在线观看视频| 亚洲美女91| 国产精品美女久久久久久不卡| 久久99影视| 色综合www| 日韩在线欧美| 人在线成免费视频| 欧美在线亚洲| 综合色就爱涩涩涩综合婷婷| 亚洲精品黄色| 午夜在线视频观看日韩17c| 久久成人国产| 国产精品一站二站| 精品日本视频| 亚洲五月婷婷| 日韩一区二区三区精品视频第3页| 日韩精品国产欧美| 日韩欧美高清一区二区三区| 国产精品免费大片| 欧美片第1页| 一区福利视频| 国产另类在线| 午夜欧美精品| 亚洲精品系列| 亚洲不卡av不卡一区二区| 亚洲综合电影一区二区三区| 国产精品网站在线看| 亚洲成人精品| 欧美一级网址| 中文精品在线| 日韩精品一区二区三区中文在线| 国精品产品一区| 久久亚洲国产精品一区二区| 精品美女在线视频| 免费在线看一区| 国产精品jk白丝蜜臀av小说| 国产福利91精品一区二区| 日韩在线播放一区二区| 福利精品在线| 青草av.久久免费一区| 日韩欧美在线中字| 欧美成人a交片免费看| 日本不良网站在线观看| 日本蜜桃在线观看视频| 久久久国产亚洲精品| 久久久久久久久久久9不雅视频| 久久蜜桃资源一区二区老牛| 日韩一区自拍| 黄色成人精品网站| 丝袜美腿亚洲一区| 中文字幕成人| 日韩福利在线观看| 欧美激情亚洲| 久久精品av| 日韩精品一级中文字幕精品视频免费观看 | 欧美一区精品| 精品美女视频| 欧美/亚洲一区| 日韩二区三区在线观看| 精品一区视频| 91久久黄色| 国产精品手机在线播放| 激情黄产视频在线免费观看| 米奇777超碰欧美日韩亚洲| 日本亚洲视频| 日韩av有码| 视频一区欧美精品| 精品亚洲免a| 男人的天堂久久精品| 国产精品激情电影| 亚洲欧美日本视频在线观看| 国产伦精品一区二区三区千人斩| 久久毛片亚洲| 日本中文字幕一区二区视频| 亚洲国产欧美日本视频| 免费人成在线不卡| 亚洲四虎影院| 国产精品亲子伦av一区二区三区| 日韩在线欧美| 国产精品xvideos88| 女人天堂亚洲aⅴ在线观看| 国产精品多人| 免费视频一区二区| 神马日本精品| 国产精品自拍区| 中文字幕一区日韩精品| 成人精品亚洲| 成人国产综合| 美女毛片一区二区三区四区最新中文字幕亚洲 | 亚洲激情社区| 成人羞羞在线观看网站| 久久av资源| 国产精品久久| 欧美一区二区三区久久精品| 欧美综合二区| 国产精品久久久久蜜臀| 国产精品视频一区视频二区| 亚洲精品成人一区| 日韩欧美一区二区三区在线视频| 青青草视频一区| 亚洲精品美女91| 亚洲一级淫片| 在线综合亚洲| 一区在线观看| av一区二区高清| 亚洲欧洲午夜| 欧美日韩一区二区三区视频播放| 国产精品99一区二区三| 麻豆中文一区二区| 久久99精品久久久久久园产越南 | 国产精品a级| 91嫩草精品| 欧美伊人影院| 国产精品1区| 大香伊人久久精品一区二区| 精品黄色一级片| 手机在线电影一区| 亚洲电影在线|