pytest報錯警告處理一:DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated, and in 3.8 it will stop working


在學習pytest時執行用例遇到一個警告,內容如下:

DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated, and in 3.8 it will stop working

大致意思是:棄用警告:從collections中導入ABCs已被棄用,並在python3.8中將停止工作,可使用collections.abc代替它進行使用

然后就各種百度了解,主要看到兩種解決辦法,做一下簡單匯總:

第一種: 在代碼文件中用到了 collections 這個模塊的報錯;

第二種:在代碼文件中沒有用到  collections 這個模塊的報錯;

對應的解決辦法:

第一種情況的解決辦法:

# from collections import Iterable ---這是會報警告的用法
from collections.abc import Iterable ---這是不會報警告的用法 print(isinstance('abc', Iterable))

第二種情況的解決辦法:

這種比較坑,因為確實沒有用到,所有就沒辦法修改導入內容來干掉警告,我就是這種情況。。

但是萬能的人啊!有了解決辦法

1、新建一個文件: pytest.ini

2、文件中寫入:

[pytest] addopts = -p no:warnings

然后再去玩一下警告就沒有了!!!!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM