Python Boto3导入时的弃用警告
我试图在python/django项目中使用boto3。我以前做过这个,但它在运行localhost时会给我一个警告——这会破坏我试图运行的请求。我使用的是python版本3.7。我已经看到了boto3的GitHub repo中提出的问题,大多数都是指运行pytest时的错误。我的问题似乎与最新的公关不符 我不太确定该转向哪里。任何建议都将不胜感激Python Boto3导入时的弃用警告,python,django,boto3,Python,Django,Boto3,我试图在python/django项目中使用boto3。我以前做过这个,但它在运行localhost时会给我一个警告——这会破坏我试图运行的请求。我使用的是python版本3.7。我已经看到了boto3的GitHub repo中提出的问题,大多数都是指运行pytest时的错误。我的问题似乎与最新的公关不符 我不太确定该转向哪里。任何建议都将不胜感激 from . import urllib3 File "/Users/neilballard/.local/share/virtual
from . import urllib3
File "/Users/neilballard/.local/share/virtualenvs/Volley-ldVCpc8_/lib/python3.7/site-packages/botocore/vendored/requests/packages/urllib3/__init__.py", line 10, in <module>
from .connectionpool import (
File "/Users/neilballard/.local/share/virtualenvs/Volley-ldVCpc8_/lib/python3.7/site-packages/botocore/vendored/requests/packages/urllib3/connectionpool.py", line 38, in <module>
from .response import HTTPResponse
File "/Users/neilballard/.local/share/virtualenvs/Volley-ldVCpc8_/lib/python3.7/site-packages/botocore/vendored/requests/packages/urllib3/response.py", line 9, in <module>
from ._collections import HTTPHeaderDict
File "/Users/neilballard/.local/share/virtualenvs/Volley-ldVCpc8_/lib/python3.7/site-packages/botocore/vendored/requests/packages/urllib3/_collections.py", line 1, in <module>
from collections import Mapping, MutableMapping
File "<frozen importlib._bootstrap>", line 1032, in _handle_fromlist
File "/Users/neilballard/.local/share/virtualenvs/Volley-ldVCpc8_/lib/python3.7/collections/__init__.py", line 52, in __getattr__
DeprecationWarning, stacklevel=2)
DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated, and in 3.8 it will stop working
来自。导入urllib3
文件“/Users/neilballard/.local/share/virtualenvs/Volley-ldVCpc8_u/lib/python3.7/site packages/botocore/vendored/requests/packages/urllib3/uuu init_u.py”,第10行
from.connectionpool导入(
文件“/Users/neilballard/.local/share/virtualenvs/Volley-ldVCpc8_389;/lib/python3.7/site packages/botocore/vendored/requests/packages/urllib3/connectionpool.py”,第38行
from.response导入HTTPResponse
文件“/Users/neilballard/.local/share/virtualenvs/Volley-ldVCpc8_u/lib/python3.7/site packages/botocore/vendored/requests/packages/urllib3/response.py”,第9行
从.\u集合导入HTTPHeaderDict
文件“/Users/neilballard/.local/share/virtualenvs/Volley-ldVCpc8_u/lib/python3.7/site packages/botocore/vendored/requests/packages/urllib3/_collections.py”,第1行
从集合导入映射、可变映射
文件“”,第1032行,在\u handle\u fromlist中
文件“/Users/neilballard/.local/share/virtualenvs/Volley-ldVCpc8_uu/lib/python3.7/collections/uuu init_uu.py”,第52行,在__
弃用警告,堆栈级别=2)
不推荐使用警告:从“collections”而不是从“collections.abc”使用或导入abc是不推荐的,在3.8中它将停止工作
我已经确认是“进口boto3”导致了问题。我已经删除了boto3,重新安装,并尝试了不同版本的boto3&urllib。我可以通过忽略弃用警告来解决这个问题:
with warnings.catch_warnings():
warnings.filterwarnings("ignore",category=DeprecationWarning)
import boto3
我在向pytest套件介绍moto时遇到了同样的情况。如果它对任何人都有帮助,您也可以通过
pytest.ini
进行如下配置:
[pytest]
filterwarnings =
ignore::DeprecationWarning
我用以下代码序列隐藏了警告:
try:
import botocore
import boto3
except ImportError:
print("No module named botocore or boto3. You may need to install boto3")
sys.exit(1)
boto3.compat.filter_python_deprecation_warnings()
可能的副本适用于本地主机吗?我没有使用pytest。实际上,它是一个普通的python警告过滤器,所以忽略它应该是可行的。更多信息:
https://docs.python.org/3/library/warnings.html#warning-过滤器1
它会中断我的请求。将解决方案张贴在下面这对我有效(接受的答案没有)