TypeError: __name__ must be set to a string object
frank at chagford.com
Mon Jan 11 09:51:13 CET 2010
This problem is similar to one I posted recently regarding the
multiprocessing module and unicode.
However, although this one manifests itself while using the multiprocessing
module, is caused by Python itself (2.6.2).
At the top of my program I have 'from __future__ import unicode_literals'.
The relevant lines from my program read -
from multiprocessing.managers import BaseManager
class MyManager(BaseManager): pass
Inside the multiprocessing module, the following lines are executed -
def register(cls, typeid, ...)
temp.__name__ = typeid
At this point, Python raises the exception 'TypeError: __name__ must be set
to a string object'.
I can fix it by changing my last line to -
Is there any reason why __name__ cannot be a unicode object in Python 2.x?
If so, there is probably little chance of this being changed, so it is
probably not worth reporting.
More information about the Python-list