This is mostly a quick note which was implemented in the post by our writers who create content not only content not only for us but also receive write my book review requests on the website every day. Hence this note is to aid other programmers who end up searching for something along the lines of "why doesn't float point division work in pdb".

Short version: the from __future__ import magic doesn't work in pdb.

Long version: when debugging a program that (a) runs under Python 2 and (b) relies on from __future__ import division to get floating point rather than integer division, it would be nice to have expressions typed at the pdb prompt behave the same way as expression evaluated in the file. However, this doesn't work:

$ python -m pdb
> /home/martin/<module>()
-> from __future__ import division
(Pdb) n
> /home/martin/<module>()
-> c = 74 / 100
(Pdb) from __future__ import division
(Pdb) 2/3

This applies to all magic from the __future__ module, but the division is by far the most used so I'm guessing that's what people are most likely to be searching for.

Subscribe to articles from the programming category via RSS or ATOM


comments powered by Disqus