Open Miguel-LlamasLanza opened 11 months ago
Hi @Miguel-LlamasLanza thank you for the feedback! I think you could achieve that by using the current_namespace
kwarg of the debugfile
function (the function call that gets executed in the IPython console when you debug). For that you will need to run a manually modified debugfile
call in the IPython console. So something like:
debugfile('<path to your file>', wdir='<path to the working directory dir>', current_namespace=True)
A preview of the workaround:
Thinking about this, seems to me that this is/should be a preference? What do you think @ccordoba12? I remember being able to set things to run using the console current namespace but maybe that only has been working for normal file runs and not on debug runs?
Thinking about this, seems to me that this is/should be a preference? What do you think @ccordoba12? I remember being able to set things to run using the console current namespace but maybe that only has been working for normal file runs and not on debug runs?
Well, if you go to the menu
Run > Configuration per file
and then select Run file with custom configuration
and Run in console's namespace instead of an empty one
Spyder will set current_namespace=True
in debugfile
:
And about what @Miguel-LlamasLanza said:
I have some import commands and functions in the .ipython/profile_default/startup directory. They are normally loaded in the spyder ipython console, except when I use debug mode. Is this expected behavior
Yes, it is. We don't load files in that directory while debugging.
I think it would be great to have those function loaded, or at least be able to enable it in the settings (maybe there is a way to do it that I do not know about (?))
It probably is but we don't have time to do implement right now, sorry. So for now you can follow @dalthviz's advice about starting the debugger in the console's namespace
Or you could use a simpler solution to what you want, which is setting the lines you'd like to run in the debugger preferences:
Thank you @dalthviz and @ccordoba12 for your answers. Both workarounds work fine, I personally prefer the option of putting all my lines in the debugger preferences (i.e. copying what I have in the .ipython/profile_default/startup/import.py file in there). It works even if I am defining functions there (I did not need to separate each line with semicolon, and it still worked)
Issue Report Checklist
conda update spyder
(orpip
, if not using Anaconda)jupyter qtconsole
(if console-related)spyder --reset
Problem Description
I have some import commands and functions in the
.ipython/profile_default/startup
directory. They are normally loaded in the spyder ipython console, except when I use debug mode. Is this expected behavior/ I think it would be great to have those function loaded, or at least be able to enable it in the settings (maybe there is a way to do it that I do not know about (?))What steps reproduce the problem?
.ipython/profile_default/startup
What is the expected output? What do you see instead?
The console returns that it does not recognize the command given (the function or package).
Mandatory:
atomicwrites >=1.2.0 : 1.4.1 (OK) chardet >=2.0.0 : 4.0.0 (OK) cloudpickle >=0.5.0 : 2.2.1 (OK) cookiecutter >=1.6.0 : 2.1.1 (OK) diff_match_patch >=20181111 : 20230430 (OK) intervaltree >=3.0.2 : 3.1.0 (OK) IPython >=7.31.1,<9.0.0,!=8.8.0,!=8.9.0,!=8.10.0 : 8.14.0 (OK) jedi >=0.17.2,<0.19.0 : 0.18.2 (OK) jellyfish >=0.7 : 0.9.0 (OK) jsonschema >=3.2.0 : 4.17.3 (OK) keyring >=17.0.0 : 23.13.1 (OK) nbconvert >=4.0 : 7.5.0 (OK) numpydoc >=0.6.0 : 1.5.0 (OK) parso >=0.7.0,<0.9.0 : 0.8.3 (OK) pexpect >=4.4.0 : 4.8.0 (OK) pickleshare >=0.4 : 0.7.5 (OK) psutil >=5.3 : 5.9.0 (OK) pygments >=2.0 : 2.15.1 (OK) pylint >=2.5.0,<3.0 : 2.17.4 (OK) pylint_venv >=2.1.1 : 3.0.2 (OK) pyls_spyder >=0.4.0 : 0.4.0 (OK) pylsp >=1.7.2,<1.8.0 : 1.7.3 (OK) pylsp_black >=1.2.0 : 1.3.0 (OK) qdarkstyle >=3.0.2,<3.2.0 : 3.1 (OK) qstylizer >=0.2.2 : 0.2.2 (OK) qtawesome >=1.2.1 : 1.2.3 (OK) qtconsole >=5.4.2,<5.5.0 : 5.4.3 (OK) qtpy >=2.1.0 : 2.3.1 (OK) rtree >=0.9.7 : 1.0.1 (OK) setuptools >=49.6.0 : 67.8.0 (OK) sphinx >=0.6.6 : 7.0.1 (OK) spyder_kernels >=2.4.3,<2.5.0 : 2.4.3 (OK) textdistance >=4.2.0 : 4.5.0 (OK) three_merge >=0.1.1 : 0.1.1 (OK) watchdog >=0.10.3 : 3.0.0 (OK) xdg >=0.26 : 0.28 (OK) zmq >=22.1.0 : 25.1.0 (OK)
Optional:
cython >=0.21 : 0.29.35 (OK) matplotlib >=3.0.0 : 3.7.1 (OK) numpy >=1.7 : 1.23.5 (OK) pandas >=1.1.1 : 1.5.3 (OK) scipy >=0.17.0 : 1.10.1 (OK) sympy >=0.7.3 : 1.11.1 (OK)
Spyder plugins:
spyder_line_profiler.spyder.plugin 0.3.1 : 0.3.1 (OK) spyder_notebook.notebookplugin 0.4.1 : 0.4.1 (OK)