I am trying to install Tensorflow on a Mac using the instructions from https://www.tensorflow.org/install/. But when I try to import it, I get a syntax error like so:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/tensorflow/init.py", line 22, in <module>
from tensorflow.python import pywrap_tensorflow # pylint: disable=unused-import
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/tensorflow/python/init.py", line 49, in <module>
from tensorflow.python import pywrap_tensorflow
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/tensorflow/python/pywrap_tensorflow.py", line 58, in <module>
from tensorflow.python.pywrap_tensorflow_internal import *
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/tensorflow/python pywrap_tensorflow_internal.py", line 114
def TFE_ContextOptionsSetAsync(arg1, async):
^
SyntaxError: invalid syntax
I tried uninstalling protobuf and reinstalling tensorflow, but the problem persists.
What is wrong, and how can I fix it?
This seems to be an issue with python version 3.7 as you can also see in this github issue. Apparently the cause is that async
is a keyword in 3.7. Good news is that there also seems to be a solution:
As mentioned in the github issue: Renaming async
to e.g. async1
in /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/tensorflow/python/pywrap_tensorflow_internal.py
gets rid of the issue
Note: There are multiple links inside of the github issue, also references to commits fixing 3.7. incompatabilities, so cloning the github and installing from source might also be an option