Velocity Reviews

Velocity Reviews (http://www.velocityreviews.com/forums/index.php)
-   Python (http://www.velocityreviews.com/forums/f43-python.html)
-   -   Deprecation warnings (2.7 -> 3 ) (http://www.velocityreviews.com/forums/t739876-deprecation-warnings-2-7-3-a.html)

rusi 12-10-2010 03:15 AM

Deprecation warnings (2.7 -> 3 )
 
In trying to get from 2.x to 3 Terry suggested I use 2.7 with
deprecation warnings


Heres the (first) set

DeprecationWarning: Overriding __eq__ blocks inheritance of __hash__
in 3.x
DeprecationWarning: callable() not supported in 3.x; use isinstance(x,
collections.Callable)

Is there one place/site I can go to for understanding all these and
trying to clear them?

Terry Reedy 12-10-2010 04:21 AM

Re: Deprecation warnings (2.7 -> 3 )
 
On 12/9/2010 10:15 PM, rusi wrote:
> In trying to get from 2.x to 3 Terry suggested I use 2.7 with
> deprecation warnings
>
>
> Heres the (first) set
>
> DeprecationWarning: Overriding __eq__ blocks inheritance of __hash__
> in 3.x
> DeprecationWarning: callable() not supported in 3.x; use isinstance(x,
> collections.Callable)
>
> Is there one place/site I can go to for understanding all these and
> trying to clear them?


Not that I know of, but it would be a good idea. You could suggest on
the tracker the addition of HOW TO Clear Deprecation Warnings, 2.7.
There would need to be a new one for each release, based on grepping the
codebase.

--
Terry Jan Reedy


nn 12-10-2010 04:17 PM

Re: Deprecation warnings (2.7 -> 3 )
 
On Dec 9, 10:15*pm, rusi <rustompm...@gmail.com> wrote:
> In trying to get from 2.x to 3 Terry suggested I use 2.7 with
> deprecation warnings
>
> Heres the (first) set
>
> DeprecationWarning: Overriding __eq__ blocks inheritance of __hash__
> in 3.x
> DeprecationWarning: callable() not supported in 3.x; use isinstance(x,
> collections.Callable)
>
> Is there one place/site I can go to for understanding all these and
> trying to clear them?


I don't know any place that explains those. But the second is a pretty
straightforward: replace "callable(x)" by "isinstance(x,
collections.Callable)"

The first one is more tricky. You have to find the class with a __eq__
method in it and copy and paste the __hash__ method from its
superclass into itself.

nn 12-10-2010 04:24 PM

Re: Deprecation warnings (2.7 -> 3 )
 
On Dec 10, 11:17*am, nn <prueba...@latinmail.com> wrote:
> On Dec 9, 10:15*pm, rusi <rustompm...@gmail.com> wrote:
>
> > In trying to get from 2.x to 3 Terry suggested I use 2.7 with
> > deprecation warnings

>
> > Heres the (first) set

>
> > DeprecationWarning: Overriding __eq__ blocks inheritance of __hash__
> > in 3.x
> > DeprecationWarning: callable() not supported in 3.x; use isinstance(x,
> > collections.Callable)

>
> > Is there one place/site I can go to for understanding all these and
> > trying to clear them?

>
> I don't know any place that explains those. But the second is a pretty
> straightforward: replace "callable(x)" by "isinstance(x,
> collections.Callable)"
>
> The first one is more tricky. You have to find the class with a __eq__
> method in it and copy and paste the __hash__ method from its
> superclass into itself.


And BTW callable was deprecated in 3.0 and then added back in for 3.2.
So if you decide to not support 3.0 and 3.1 you would be fine just
leaving it as is.

Tim Golden 12-10-2010 04:25 PM

Re: Deprecation warnings (2.7 -> 3 )
 
On 10/12/2010 16:17, nn wrote:
> On Dec 9, 10:15 pm, rusi<rustompm...@gmail.com> wrote:
>> In trying to get from 2.x to 3 Terry suggested I use 2.7 with
>> deprecation warnings
>>
>> Heres the (first) set
>>
>> DeprecationWarning: Overriding __eq__ blocks inheritance of __hash__
>> in 3.x
>> DeprecationWarning: callable() not supported in 3.x; use isinstance(x,
>> collections.Callable)
>>
>> Is there one place/site I can go to for understanding all these and
>> trying to clear them?


Not quite an answer, but:

http://docs.python.org/dev/py3k/whatsnew/3.0.html

TJG

rusi 12-10-2010 04:25 PM

Re: Deprecation warnings (2.7 -> 3 )
 
On Dec 10, 9:17*pm, nn <prueba...@latinmail.com> wrote:
> On Dec 9, 10:15*pm, rusi <rustompm...@gmail.com> wrote:
>
> > In trying to get from 2.x to 3 Terry suggested I use 2.7 with
> > deprecation warnings

>
> > Heres the (first) set

>
> > DeprecationWarning: Overriding __eq__ blocks inheritance of __hash__
> > in 3.x
> > DeprecationWarning: callable() not supported in 3.x; use isinstance(x,
> > collections.Callable)

>
> > Is there one place/site I can go to for understanding all these and
> > trying to clear them?

>
> I don't know any place that explains those. But the second is a pretty
> straightforward: replace "callable(x)" by "isinstance(x,
> collections.Callable)"

Of course. I was asking for more generic instructions/suggestions on
porting like what you've given below

[Say I get 25 more such warnings... And then moving to 3.2 I get
errors...]
>
> The first one is more tricky. You have to find the class with a __eq__
> method in it and copy and paste the __hash__ method from its
> superclass into itself.




All times are GMT. The time now is 07:30 PM.

Powered by vBulletin®. Copyright ©2000 - 2013, vBulletin Solutions, Inc.
SEO by vBSEO ©2010, Crawlability, Inc.


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57