[Python] Sets deprecated

Marco Giusti marco.giusti a gmail.com
Lun 18 Ott 2010 16:18:16 CEST


On Mon, Oct 18, 2010 at 03:48:20PM +0200, Vittorio Zuccala' wrote:
> Buongiorno a tutti,
> sto cercando di convertire un file.py in file.exe con py2exe.
> Ho la versione 2.6 di python ed installato py2exe per tale versione...
> Quando lancio, seguendo il tutorial, il comando "python setup.py py2exe",
> l'interprete mi crea l'eseguibile correttamente.
> Al contrario, se provo a fare un import di py2exe dalla "Python Shell Gui"
> questa mi risponde:
> 
> "Warning (from warnings module):
>   File "C:\Python26\lib\site-packages\py2exe\build_exe.py", line 16
>     import sets
> DeprecationWarning: the sets module is deprecated"
> 
> Quale può essere il motivo?
> E soprattutto come mai mi crea l'eseguibile se la libreria "sets" è
> deprecated?

Per rispondere alla tua prima domanda, senza conoscere il modulo:

What's New In Python 2.6:

	# The sets module has been deprecated; it’s better to use the
	  built-in set and frozenset types.

Dalla documentazione del modulo sets:

	Deprecated since version 2.6: The built-in set/frozenset types
	replace this module.

Per rispondere alla tua seconda domanda: il fatto che un modulo sia
deprecato vuol dire che l'uso è sconsigliato, o meglio, è sconsigliato
l'uso in nuovi moduli/programmi che non dipendano strettamente dal
modulo stesso. Un semplice esempio è una compatibilità all'indietro con
moduli preesistenti che dipendono esplicitamente dal modulo deprecato.

Inoltre il modulo verrà rimosso in una versione futura quindi è ancor di
più scoraggiato l'uso in moduli/programmi che pretendono di essere
funzionanti in future versioni di python.

What's New In Python 3.0:

	# Killed sets. Use the builtin set() function.


Quindi, in poche parole, puoi semplicemente ignorare il warning.

> Grazie,
> Vittorio

ciao
m.



-- 
La calunnia è un venticello
Un'auretta assai gentile
Che insensibile, sottile,
Leggermente, dolcemente,
Incomincia a susurrar. 
		-- Basilio, Il barbiere di Siviglia


Maggiori informazioni sulla lista Python