[python-win32] Issues with tkinter, COM servers and Python 3.x

Mark Hammond skippy.hammond at gmail.com
Wed May 20 08:32:11 CEST 2015


On 19/05/2015 9:02 AM, Tim Roberts wrote:
> Diego Vélez Torres wrote:
>>
>> I finally was able to fix this issue in my code.  Thanks for your
>> advise.  Now I want to share with the community exactly what I did by
>> posting the whole "__init__" method of tkinter's  "__init__.py" file:
>>
>> def __init__(self, screenName=None, baseName=None, className='Tk',
>>                   useTk=1, sync=0, use=None):
>> ...        # Condition added by Diego Velez so 'tkinter' can be called
>> from COM Servers. --May 18th, 2015
>>              if isinstance(baseName, bytes):
>>                  baseName = baseName.decode()
>
> That's very bizarre.  Did you print out the value of baseName to see
> what it was?  I'm wondering if something in the Python COM machinery is
> faking os.path.basename and didn't get the memo about strings in Python 3.

Yeah - argv[0] is created inappropriately for py3k - 
http://pywin32.hg.sourceforge.net/hgweb/pywin32/pywin32/file/b57d0d7444fb/com/win32com/src/dllmain.cpp#l68

Mark



More information about the python-win32 mailing list