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

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


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 enumprint(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.


Not sure whether you still have this issue. I had a similar issue and I was able to resolve it simply by unsetting PYTHONPATH

$ unset PYTHONPATH


For me this error occured after installing of gcloud component app-engine-python in order to integrate into pycharm. Uninstalling the module helped, even if pycharm is now not uploading to app-engine.