Python 无法导入';收藏。abc';在linux上使用windows子系统时

Python 无法导入';收藏。abc';在linux上使用windows子系统时,python,windows-subsystem-for-linux,Python,Windows Subsystem For Linux,我正在使用linux的windows子系统(特别是windows的Ubuntu)来运行一些python代码。当我尝试运行以下命令:“import collections.abc”时,我得到以下错误:“ImportError:没有名为abc的模块” 我可以导入“collections”,但如果我尝试“collections.abc”,我会得到以下错误:“AttributeError:“module”对象没有属性“abc” 此外,我尝试在命令提示符下导入模块,但没有使用Ubuntu for Wind

我正在使用linux的windows子系统(特别是windows的Ubuntu)来运行一些python代码。当我尝试运行以下命令:“import collections.abc”时,我得到以下错误:“ImportError:没有名为abc的模块”

我可以导入“collections”,但如果我尝试“collections.abc”,我会得到以下错误:“AttributeError:“module”对象没有属性“abc”

此外,我尝试在命令提示符下导入模块,但没有使用Ubuntu for Windows,导入成功

默认情况下,“collections”模块应包含在python中,因此我不确定为什么它会给我这个错误。

来自:

在版本3.3中更改:已移动 到 模块。为了向后兼容,它们仍然可见 在本模块中,通过Python 3.7。 随后,它们将被完全移除

因此,
collections.abc
中已经存在的任何内容 Python=3.3 将collections.abc导入为collections\u abc 除了importorror:#Python=3.3和 Python中的
collections.Sequence

在版本3.3中更改:已移动 到 模块。为了向后兼容,它们仍然可见 在本模块中,通过Python 3.7。 随后,它们将被完全移除

因此,
collections.abc
中已经存在的任何内容 Python=3.3 将collections.abc导入为collections\u abc 除了importorror:#Python=3.3和
collections.Sequence
在Python中,您使用的是什么版本的Python<代码>集合。abc在3.3版中引入。命令提示符中的
python-V
是否返回与Ubuntu子系统中的
python-V
相同的版本号?您还可以
导入sys
,然后
打印(sys.version\u info)
以查看运行的是哪个版本的python。您使用的是哪个版本的python<代码>集合。abc在3.3版中引入。命令提示符中的
python-V
是否返回与Ubuntu子系统中的
python-V
相同的版本号?您还可以
导入sys
,然后
打印(sys.version\u info)
以查看运行的是哪个版本的python。
try:  # works in Python >= 3.3
    import collections.abc as collections_abc
except ImportError:  # Python <= 3.2 including Python 2
    import collections as collections_abc