0) There's an obvious typo in the cporting HOWTO: [...] It’s also important to remember that PyBytes and PyUnicode in 3.0 are not interchangeable like PyString and PyString are in 2.x. [...] That PyString and PyString are interchangeable is obviously not what the author wanted to tell. 1) I'll attach a patch to change this into what I suppose the author had in mind. (If I knew for sure I wouldn't have read that HOWTO in the first place.)