Why Python 3.6.1 throws AttributeError: module 'enum' has no attribute 'IntFlag'?

前端 未结 17 1360
无人共我
无人共我 2020-11-22 16:34

I just installed Python 3.6.1 for MacOS X

When I attempt to run the Console(or run anything with Python3), this error is thrown:

  AttributeError: mo         


        
17条回答
  •  眼角桃花
    2020-11-22 16:58

    It's because your enum is not the standard library enum module. You probably have the package enum34 installed.

    One way check if this is the case is to inspect the property enum.__file__

    import enum
    print(enum.__file__)  
    # standard library location should be something like 
    # /usr/local/lib/python3.6/enum.py
    

    Since python 3.6 the enum34 library is no longer compatible with the standard library. The library is also unnecessary, so you can simply uninstall it.

    pip uninstall -y enum34
    

    If you need the code to run on python versions both <=3.4 and >3.4, you can try having enum-compat as a requirement. It only installs enum34 for older versions of python without the standard library enum.

提交回复
热议问题