在 python3.6 上导入 yarl 或 discord.py 时出现问题
Problem importing yarl or discord.py on python3.6
我最近更新了 discord.py 由于概述的错误 ,更新后我无法再导入它。
运行 import discord
出现以下错误:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python3.6/site-packages/discord/__init__.py", line 23, in <module>
from .client import Client
File "/usr/local/lib/python3.6/site-packages/discord/client.py", line 34, in <module>
import aiohttp
File "/usr/local/lib/python3.6/site-packages/aiohttp/__init__.py", line 6, in <module>
from .client import BaseConnector as BaseConnector
File "/usr/local/lib/python3.6/site-packages/aiohttp/client.py", line 30, in <module>
from yarl import URL
File "/usr/local/lib/python3.6/site-packages/yarl/__init__.py", line 1, in <module>
from ._url import URL, cache_clear, cache_configure, cache_info
File "/usr/local/lib/python3.6/site-packages/yarl/_url.py", line 56, in <module>
@rewrite_module
File "/usr/local/lib/python3.6/site-packages/yarl/_url.py", line 132, in URL
_QUERY_PART_QUOTER = _Quoter(safe="?/:@", qs=True, requote=False)
File "yarl/_quoting.pyx", line 192, in yarl._quoting._Quoter.__init__
TypeError: __init__() got an unexpected keyword argument 'requote'
列表中的最后一个是 yarl,所以我尝试了 import yarl
并得到了这个错误:
Traceback (most recent call last):
File "/usr/local/lib/python3.6/site-packages/yarl/__init__.py", line 1, in <module>
from ._url import URL, cache_clear, cache_configure, cache_info
File "/usr/local/lib/python3.6/site-packages/yarl/_url.py", line 56, in <module>
@rewrite_module
File "/usr/local/lib/python3.6/site-packages/yarl/_url.py", line 132, in URL
_QUERY_PART_QUOTER = _Quoter(safe="?/:@", qs=True, requote=False)
File "yarl/_quoting.pyx", line 192, in yarl._quoting._Quoter.__init__
TypeError: __init__() got an unexpected keyword argument 'requote'
python的版本是3.6.8。我也在另一台装有 3.6.9 的机器上试过这个,但得到了同样的错误。我已经在装有 3.7.7 的机器上试过这个并且所有东西都正常加载,但是我没有能力在这台机器上将 python 升级到 3.7,所以我想让它在 3.6 上工作。
更新到 yarl 1.5.1 应该可以解决这个问题。 GitHub Issue 表明这是发布内部 C 代码的问题。
升级 pip
对我没有帮助。
如@Orangutan 所示,强制重新安装 yarl
对我没有帮助。
然而,下面的方法成功了:
mkdir ~/backup
mv ~/.local/lib/python3.6/site-packages/yarl* ~/backup/
pip3 install yarl --force-reinstall --no-cache-dir
我最近更新了 discord.py 由于概述的错误
运行 import discord
出现以下错误:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python3.6/site-packages/discord/__init__.py", line 23, in <module>
from .client import Client
File "/usr/local/lib/python3.6/site-packages/discord/client.py", line 34, in <module>
import aiohttp
File "/usr/local/lib/python3.6/site-packages/aiohttp/__init__.py", line 6, in <module>
from .client import BaseConnector as BaseConnector
File "/usr/local/lib/python3.6/site-packages/aiohttp/client.py", line 30, in <module>
from yarl import URL
File "/usr/local/lib/python3.6/site-packages/yarl/__init__.py", line 1, in <module>
from ._url import URL, cache_clear, cache_configure, cache_info
File "/usr/local/lib/python3.6/site-packages/yarl/_url.py", line 56, in <module>
@rewrite_module
File "/usr/local/lib/python3.6/site-packages/yarl/_url.py", line 132, in URL
_QUERY_PART_QUOTER = _Quoter(safe="?/:@", qs=True, requote=False)
File "yarl/_quoting.pyx", line 192, in yarl._quoting._Quoter.__init__
TypeError: __init__() got an unexpected keyword argument 'requote'
列表中的最后一个是 yarl,所以我尝试了 import yarl
并得到了这个错误:
Traceback (most recent call last):
File "/usr/local/lib/python3.6/site-packages/yarl/__init__.py", line 1, in <module>
from ._url import URL, cache_clear, cache_configure, cache_info
File "/usr/local/lib/python3.6/site-packages/yarl/_url.py", line 56, in <module>
@rewrite_module
File "/usr/local/lib/python3.6/site-packages/yarl/_url.py", line 132, in URL
_QUERY_PART_QUOTER = _Quoter(safe="?/:@", qs=True, requote=False)
File "yarl/_quoting.pyx", line 192, in yarl._quoting._Quoter.__init__
TypeError: __init__() got an unexpected keyword argument 'requote'
python的版本是3.6.8。我也在另一台装有 3.6.9 的机器上试过这个,但得到了同样的错误。我已经在装有 3.7.7 的机器上试过这个并且所有东西都正常加载,但是我没有能力在这台机器上将 python 升级到 3.7,所以我想让它在 3.6 上工作。
更新到 yarl 1.5.1 应该可以解决这个问题。 GitHub Issue 表明这是发布内部 C 代码的问题。
升级 pip
对我没有帮助。
如@Orangutan 所示,强制重新安装 yarl
对我没有帮助。
然而,下面的方法成功了:
mkdir ~/backup
mv ~/.local/lib/python3.6/site-packages/yarl* ~/backup/
pip3 install yarl --force-reinstall --no-cache-dir