"Deprecated sets module" with Python 2.6

V

Virgil Stokes

I would appreciate help on correcting a problem when trying to create an
*.exe file using py2exe via GUI2exe with Python 2.6.2.

When using GUI2exe to create an *.exe I always get the following warning
during the compile process:

C:\Python26\lib\site-packages\py2exe\build_exe.py:16:
DeprecationWarning: the sets module is deprecated
import sets

and this results in the creation of an *.exe file that can not be executed.

On the other hand, if I use the same procedure (on the same Python code)
with
Python 2.5, there are no warnings and the *.exe works fine.

The procedure used is that given in the example "Less simpler one" at

http://code.google.com/p/gui2exe/wiki/GUI2ExeExamplesin

Any suggestions, help, ... would be greatly appreciated.

Thanks,
--V.
 
D

Diez B. Roggisch

Virgil said:
I would appreciate help on correcting a problem when trying to create an
*.exe file using py2exe via GUI2exe with Python 2.6.2.

When using GUI2exe to create an *.exe I always get the following warning
during the compile process:

C:\Python26\lib\site-packages\py2exe\build_exe.py:16:
DeprecationWarning: the sets module is deprecated
import sets

and this results in the creation of an *.exe file that can not be executed.

On the other hand, if I use the same procedure (on the same Python code)
with
Python 2.5, there are no warnings and the *.exe works fine.

The procedure used is that given in the example "Less simpler one" at

http://code.google.com/p/gui2exe/wiki/GUI2ExeExamplesin

Any suggestions, help, ... would be greatly appreciated.

If you don't need your app running on python2.3 and earlier, just remove
the sets-module and replace it with the builtin "set".

Diez
 
S

Steven D'Aprano

When using GUI2exe to create an *.exe I always get the following warning
during the compile process:

C:\Python26\lib\site-packages\py2exe\build_exe.py:16:
DeprecationWarning: the sets module is deprecated
import sets

The best solution would be to change every call to sets.Set() to set(),
and change the line:

import sets

to this:

try:
set
except NameError:
from sets import Set as set


If you use sets.ImmutableSet, you will need to change that to frozenset
in the same way.

This assumes you don't need to support older versions of Python, before
set() became a built-in.
 
V

Virgil Stokes

Diez said:
If you don't need your app running on python2.3 and earlier, just
remove the sets-module and replace it with the builtin "set".
Of course Diez, this is a good suggestion. However, in this case the
Python code that I am trying to convert into an *.exe file does not
refer to sets directly; i.e, the use of this module is buried within a
package that is imported (wxPython) which is not under my control.

--V
 
V

Virgil Stokes

Virgil said:
Of course Diez, this is a good suggestion. However, in this case the
Python code that I am trying to convert into an *.exe file does not
refer to sets directly; i.e, the use of this module is buried within a
package that is imported (wxPython) which is not under my control.

--V
Whoops, the reference to the module sets is in py2exe not wxPython.

--V
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,770
Messages
2,569,583
Members
45,073
Latest member
DarinCeden

Latest Threads

Top