Hi folks, I've been trying to use pdb to debug a Python 2.7 program and this has really stumped me.....
When debugging a program that uses from __future__ import division in Python 2.7, it would be useful to be able to have the same behaviour at the pdb prompt. However, it looks like pdb doesn't honour either the import statement in the original program, or one run explicitly at the pdb prompt. Given the program test.py: from __future__ import division print(2/3) I get the following interactive pdb session: martin@martin-H97-D3H:~$ python -m pdb test.py > /home/martin/test.py(1)<module>() -> from __future__ import division (Pdb) n > /home/martin/test.py(2)<module>() -> print(2/3) (Pdb) n 0.666666666667 --Return-- > /home/martin/test.py(2)<module>()->None -> print(2/3) (Pdb) 2/3 0 (Pdb) from __future__ import division (Pdb) 2/3 0 (Pdb) In other words, I get different results for the same expression (2/3) in the program and on the pdb prompt, which makes debugging tricky. I cannot figure out how to persuade pdb to actually load the division module. Is there an approved way? Normal modules load as expected in pdb: (Pdb) import os (Pdb) os.getcwd() '/home/martin' so this is obviously some special magic that applies only to the __future__ module. Any ideas? -- https://mail.python.org/mailman/listinfo/python-list