【发布时间】:2017-07-27 10:59:00
【问题描述】:
from functools import reduce
我使用的是 python 3.6.2,这是唯一显示以下错误的代码:
Traceback (most recent call last):
File "D:\Pythons\oop.py", line 50, in <module>
from functools import reduce
ImportError: cannot import name 'reduce'
Process returned 1 (0x1) execution time : 0.145 s
我会发现这个问题,因为我在另一个代码中犯了错误,
from enum import Enum
报错:
Traceback (most recent call last):
File "D:\Pythons\oop.py", line 50, in <module>
from enum import Enum
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36-32\lib\enum.py", line 3, in <module>
from functools import reduce ImportError: cannot import name 'reduce'
所以我只看了enum. Py的源码,在第3行找到
from functools import reduce
女士们先生们,在centos7.2中安装python3.6.2是完全没有问题的,但是在安装Windows 10专业版下,会出现上面这些问题,好像我安装的问题,但是,很多时候我已经卸载了,反复安装了很多次,还是不行,不知道没有那些文件,谁能告诉我如何在windows环境下通过命令行安装?
【问题讨论】:
-
所以python不能从
functools导入reduce。我在 python 3 中都找不到名为 reduce 的类/方法。github.com/python/cpython/blob/3.6/Lib/functools.py - 这是在 python 2 中可用的docs.python.org/2/library/functools.html#functools.reduce -
该代码在使用 version3.6.0 的 python.org/shell 上运行良好。也许重新安装,或者使用所有 python 包进行完整安装?
-
我刚刚安装了 3.6.2,但无法复制。
reduce甚至列在documentation page -
听起来您将文件命名为您不应该使用的名称。
-
为了澄清来自@user2357112 的评论,当我在路径上比预期导入更高的位置创建一个名为
functools.py的文件时遇到了这个错误。将您创建的文件重命名为functools.py。如果不是这种情况,那么您的安装很可能是错误的。
标签: python python-3.x