Unable to import freegames python package : AttributeError: module 'collections' has no attribute 'Sequence'
Unable to import freegames python package : AttributeError: module 'collections' has no attribute 'Sequence'
Python 版本:3.10
我尝试使用以下 pip 命令安装 freegames python 包
C:\Users\praty>pip install freegames
Defaulting to user installation because normal site-packages is not writeable
Collecting freegames
Downloading freegames-2.3.2-py2.py3-none-any.whl (108 kB)
|████████████████████████████████| 108 kB 504 kB/s
Installing collected packages: freegames
Successfully installed freegames-2.3.2
但是在我的 python 环境中导入相同内容时出现此错误
C:\Users\praty>python
Python 3.10.0 (tags/v3.10.0:b494f59, Oct 4 2021, 19:00:18) [MSC v.1929 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import freegames
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Users\praty\AppData\Roaming\Python\Python310\site-packages\freegames\_init_.py", line 61, in <module>
from .utils import floor, line, path, square, vector
File "C:\Users\praty\AppData\Roaming\Python\Python310\site-packages\freegames\utils.py", line 77, in <module>
class vector(collections.Sequence):
AttributeError: module 'collections' has no attribute 'Sequence'
我该如何解决?
很长一段时间以来,Sequence
都可以从 collections
导入:
$ python2.7 -c "from collections import Sequence"
$ python3.4 -c "from collections import Sequence"
$ python3.5 -c "from collections import Sequence"
$ python3.6 -c "from collections import Sequence"
从 Python 3.7 开始,出现警告 class 已移至 collections.abc
:
$ python3.7 -c "from collections import Sequence"
-c:1: DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated since Python 3.3,and in 3.9 it will stop working
$ python3.8 -c "from collections import Sequence"
<string>:1: DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated since Python 3.3, and in 3.10 it will stop working
$ python3.9 -c "from collections import Sequence"
<string>:1: DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated since Python 3.3, and in 3.10 it will stop working
在 Python 3.10 中,这变成了一个错误:
$ python3.10 -c "from collections import Sequence"
Traceback (most recent call last):
File "<string>", line 1, in <module>
ImportError: cannot import name 'Sequence' from 'collections' (/home/phd/.local/lib/python3.10/collections/__init__.py)
$ python3.10 -c "from collections.abc import Sequence"
向 freegames
的作者报告问题。降级到 Python 3.9。了解您永远不应该如此快速地升级到最新最好的版本。
Python 版本:3.10
我尝试使用以下 pip 命令安装 freegames python 包
C:\Users\praty>pip install freegames
Defaulting to user installation because normal site-packages is not writeable
Collecting freegames
Downloading freegames-2.3.2-py2.py3-none-any.whl (108 kB)
|████████████████████████████████| 108 kB 504 kB/s
Installing collected packages: freegames
Successfully installed freegames-2.3.2
但是在我的 python 环境中导入相同内容时出现此错误
C:\Users\praty>python
Python 3.10.0 (tags/v3.10.0:b494f59, Oct 4 2021, 19:00:18) [MSC v.1929 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import freegames
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Users\praty\AppData\Roaming\Python\Python310\site-packages\freegames\_init_.py", line 61, in <module>
from .utils import floor, line, path, square, vector
File "C:\Users\praty\AppData\Roaming\Python\Python310\site-packages\freegames\utils.py", line 77, in <module>
class vector(collections.Sequence):
AttributeError: module 'collections' has no attribute 'Sequence'
我该如何解决?
很长一段时间以来,Sequence
都可以从 collections
导入:
$ python2.7 -c "from collections import Sequence"
$ python3.4 -c "from collections import Sequence"
$ python3.5 -c "from collections import Sequence"
$ python3.6 -c "from collections import Sequence"
从 Python 3.7 开始,出现警告 class 已移至 collections.abc
:
$ python3.7 -c "from collections import Sequence"
-c:1: DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated since Python 3.3,and in 3.9 it will stop working
$ python3.8 -c "from collections import Sequence"
<string>:1: DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated since Python 3.3, and in 3.10 it will stop working
$ python3.9 -c "from collections import Sequence"
<string>:1: DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated since Python 3.3, and in 3.10 it will stop working
在 Python 3.10 中,这变成了一个错误:
$ python3.10 -c "from collections import Sequence"
Traceback (most recent call last):
File "<string>", line 1, in <module>
ImportError: cannot import name 'Sequence' from 'collections' (/home/phd/.local/lib/python3.10/collections/__init__.py)
$ python3.10 -c "from collections.abc import Sequence"
向 freegames
的作者报告问题。降级到 Python 3.9。了解您永远不应该如此快速地升级到最新最好的版本。