Closed DanielGoldfarb closed 3 years ago
I'm not familiar with ipython but it's very likely that watchpoints does not work with ipython. However, I believe the part that does not work with ipython well is the print, because it's trying to access the file where the changes is written but in ipython it seems like that's not a file.
You can still caught the trigger of the variable change, but you need your own callback function. Check https://github.com/gaogaotiantian/watchpoints#customize-callback for more information. If you still have questions, feel free to ask!
@gaogaotiantian thanks so much! will take a look later today.
@DanielGoldfarb oh wait, I think I was wrong. watchpoints can't support any kind of REPL, including ipython, because it's not able to parse the variable name from the file. You have to write a script(a file) to use the feature.
Hi @DanielGoldfarb, I just checked in the code for REPL support, including ipython. I think you can use it now.
@gaogaotiantian Thanks. In the middle of something else right now. Will try to check it out next week. Much appreciated.
It could be nice if it would work with VSCode python debubger as well. The error I see there is
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/home/conan/.local/lib/python3.6/site-packages/watchpoints/watch.py", line 28, in __call__
argnodes = getargnodes(frame)
File "/home/conan/.local/lib/python3.6/site-packages/watchpoints/util.py", line 57, in getargnodes
line = getline(frame)
File "/home/conan/.local/lib/python3.6/site-packages/watchpoints/util.py", line 33, in getline
with open(filename, "r", encoding="utf-8") as f:
FileNotFoundError: [Errno 2] No such file or directory: '<string>'
Unfortunately, watchpoints requires source code to work, there's some black magic to make the UI super intuitive. I'm not super familiar with VSCode Python debugger, but there are two things that I'm pretty sure:
Overall, I doubt if watchpoints can be used with VSCode debugger, even with efforts to adapt it.
Let me know if you need more information. Running in jupyter notebook. This is my first time trying to use
watchpoints
. Does it not work with ipython? Will rework my code to run in a script; in the meantime will leave this post here in case you can help. Thanks.