easyGUI and py2exe

Tim Roberts timr at probo.com
Thu Oct 28 08:41:12 CEST 2010

Snooky <wwyckoff at ihoriz.com> wrote:

>I have a python program that imports the following:
>import sys
>from easygui import *      ### This is line 11 in the source code ###
>import SOAPpy
>import datetime
>import win32com.client
>This program works OK (compiled using py2exe) on my development
>Windows Vista Notebook PC.  I am trying to distribute the program to other
>users who are using Windows 7 32 and 64 bit notebooks, however, the program
>is throwing the following log file error:
>Traceback (most recent call last):
>  File "CreateAndUpdateURs.py", line 11, in <module>
>  File "zipextimporter.pyo", line 82, in load_module
>  File "easygui.pyo", line 21, in <module>
>AttributeError: 'NoneType' object has no attribute 'split'

Well, this is partially your fault, but you could also call it a bug in the
more recent versions of easygui.  They get the version number by calling
split on the module's __doc__ string.  You are selecting maximum
optimization in your py2exe script, which strips out all of the doc
strings.  So, the split fails.

You have two choices.  One, you can change easygui.py to assing the version
number string directly, instead of using __doc__.split.  Two, you can
reduce your optimization level from 2 to 1.
Tim Roberts, timr at probo.com
Providenza & Boekelheide, Inc.

More information about the Python-list mailing list