Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Boto3导入时的弃用警告_Python_Django_Boto3 - Fatal编程技术网

Python Boto3导入时的弃用警告

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

我试图在python/django项目中使用boto3。我以前做过这个,但它在运行localhost时会给我一个警告——这会破坏我试图运行的请求。我使用的是python版本3.7。我已经看到了boto3的GitHub repo中提出的问题,大多数都是指运行pytest时的错误。我的问题似乎与最新的公关不符

我不太确定该转向哪里。任何建议都将不胜感激

    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
它会中断我的请求。将解决方案张贴在下面这对我有效(接受的答案没有)