我刚刚为MacOS X安装了Python3.6.1
当我尝试运行控制台(或使用Python3运行任何东西)时,抛出以下错误:
AttributeError: module 'enum' has no attribute 'IntFlag'
$ /Library/Frameworks/Python.framework/Versions/3.6/bin/python3
Failed to import the site module
Traceback (most recent call last):
File "/usr/local/Cellar/python3/3.6.1/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site.py", line 544, in <module>
main()
File "/usr/local/Cellar/python3/3.6.1/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site.py", line 530, in main
known_paths = addusersitepackages(known_paths)
File "/usr/local/Cellar/python3/3.6.1/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site.py", line 282, in addusersitepackages
user_site = getusersitepackages()
File "/usr/local/Cellar/python3/3.6.1/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site.py", line 258, in getusersitepackages
user_base = getuserbase() # this will also set USER_BASE
File "/usr/local/Cellar/python3/3.6.1/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site.py", line 248, in getuserbase
USER_BASE = get_config_var('userbase')
File "/usr/local/Cellar/python3/3.6.1/Frameworks/Python.framework/Versions/3.6/lib/python3.6/sysconfig.py", line 601, in get_config_var
return get_config_vars().get(name)
File "/usr/local/Cellar/python3/3.6.1/Frameworks/Python.framework/Versions/3.6/lib/python3.6/sysconfig.py", line 580, in get_config_vars
import _osx_support
File "/usr/local/Cellar/python3/3.6.1/Frameworks/Python.framework/Versions/3.6/lib/python3.6/_osx_support.py", line 4, in <module>
import re
File "/usr/local/Cellar/python3/3.6.1/Frameworks/Python.framework/Versions/3.6/lib/python3.6/re.py", line 142, in <module>
class RegexFlag(enum.IntFlag):
AttributeError: module 'enum' has no attribute 'IntFlag'
enum.py中存在类IntFlag。那么,为什么要抛出AttributeError呢?
发布于 2017-08-16 22:18:35
这是因为您的enum
不是标准库enum
模块。您可能已经安装了enum34
包。
检查是否属于这种情况的一种方法是检查属性enum.__file__
import enum
print(enum.__file__)
# standard library location should be something like
# /usr/local/lib/python3.6/enum.py
从Python3.6开始,enum34库不再与标准库兼容。该库也是不必要的,因此您可以简单地将其卸载。
pip uninstall -y enum34
如果您需要在<=3.4和>3.4版本的python上运行代码,您可以尝试将enum-compat
作为一个要求。它只为没有标准库枚举的旧版本的python安装enum34
。
发布于 2017-06-10 04:13:00
不确定您是否仍然存在此问题。我也遇到过类似的问题,只需取消设置PYTHONPATH
即可解决
$ unset PYTHONPATH
发布于 2018-12-11 06:26:44
对我来说,这个错误是在安装gcloud组件app-engine-python以便集成到pycharm之后发生的。卸载模块很有帮助,即使pycharm现在没有上传到app-engine。
https://stackoverflow.com/questions/43124775
复制相似问题