As I said, U + 00AF is not a macron combination. But you can convert it to U + 0020 U + 0304 with NFKD conversion.
>>> unicodedata.normalize('NFKD', u'o\u00af')
u'o \u0304'
Then you can remove the space and get ō using NFC.
( , NFKD , - - , "", , ,
'½' (U + 008D) ↦ '1' '⁄' (U + 2044) '2';'²' (U + 00B2) ↦ '2''①' (U + 2460) ↦ '1'
.)