I get the following error when trying to import gtk in Python 2.7 :
>>> import gtk
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "gtk/__init__.py", line 40, in <module>
    from gtk import _gtk
  File "/usr/lib/python2.7/site-packages/cairo/__init__.py", line 1, in <module>
    from ._cairo import *  # noqa: F401,F403
ImportError: /usr/lib/python2.7/site-packages/cairo/_cairo.so: undefined symbol: cairo_tee_surface_index
And I get the following error when trying to import cairo from Python 3.6:
>>> import cairo
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python3.6/site-packages/cairo/__init__.py", line 1, in <module>
    from ._cairo import *  # noqa: F401,F403
ImportError: /usr/lib/python3.6/site-packages/cairo/_cairo.cpython-36m-x86_64-linux-gnu.so: undefined symbol: cairo_tee_surface_index

I compiled and built the modules in the order as given in the BLFS book.
I also installed cairo as given in the book with tee enabled.
My system is an LFS, with 4.14.4 Kernel Version, with Python 2.7.14 and Python 3.6.4.
EDIT: Downloaded the source and did 'make uninstall' and then reinstalled it. Now I can import cairo without any errors.
I'm using conda and I have same issue, but path are little bit different due to conda env:
ImportError: /home/juro/anaconda3/envs/py37/lib/python3.7/site-packages/cairo/_cairo.cpython-37m-x86_64-linux-gnu.so: undefined symbol: cairo_tee_surface_index
$ ldd /home/juro/anaconda3/envs/py37/lib/python3.7/site-packages/cairo/_cairo.cpython-37m-x86_64-linux-gnu.so
$ outputs:
...
libcairo.so.2 => /home/juro/anaconda3/envs/py37/lib/libcairo.so.2 (0x00007ff6d8ad9000)
...
It seems that conda (anaconda) package cairo is broken or pip pycairo package is broken (I don't know who's fault it is ;)). It's missing symbol cairo_tee_surface_index in "libcairo.so.2" library. That symbol is required by pycairo package (pip install pycairo), so when you do "import cairo" you get that failure.
You have these options:

I found out that my system (debian) libcairo.2 has that missing symbol:
$ strings /usr/lib/x86_64-linux-gnu/libcairo.so.2.11400.8 | grep cairo_tee_surface_index. So I just downgraded my conda's cairo to the same version as on my system conda install cairo=version and copied my system libcairo over my conda libcairo:cp /usr/lib/x86_64-linux-gnu/libcairo.so.2.11400.8 ~/anaconda3/lib/libcairo.so.2.11400.8. You can backup the original one, but don't use move command (mv) because those libraries are hardlinks (those libraries can be shared among multiple conda environments). Use just cp for backup.
You can change RPATH inside "_cairo.cpython-36m-x86_64-linux-gnu.so" libary file using chrpath command (man chrpath) to point to folder where is correct libcairo.so.2. With correct one I mean the library build with cairo_tee_surface_index symbol.
build your own cairo library (same version as in your conda '$ conda list cairo') and copy it over ~/anaconda3/lib/libcairo.so.2.{additional_version_characters}.

Where is your system's libcairo?
/sbin/ldconfig -p | grep libcairo
Python : Import cairo error (2.7 & 3.6) undefined symbol: cairo_tee_surface_index