These are chat archives for spyder-ide/public
@goanpeca Yeah, people have reported this one a lot, though mostly in the context of trying to start Spyder/a kernel and it crashing, because they shadowed a standard library module or something else critical that the kernel needs to start properly. To address the latter case (the one with the most relevance to Spyder), can we change the search path when starting the kernel to put the current directory at the end during kernel startup (except for dev builds), but make sure it is set to the normal path for user-facing code?
To warn about it for user-facing code, potentially we could check
AttributeError messages in to determine if the
module_name matches both a filename in the current directory, and one in the stdlib? Seems like a decent amount to work to catch an error a beginner is only likely to make once, but perhaps it would be worthwhile it we upstreamed it to some sort of special message/handling in IPython itself?
Is there a insurmountable technical reason that the Variable Explorer doesn't work when connected to a non-Spyder-created IPython console?
spyder-kernelspackage, as we recommend there, all of those features will work (I tested them just now). Sorry if that's unclear, I can open an issue to clarify it.
spyder-kernelspiece and instead created the console using "plain vanilla" IPython.embed_kernel(). Thanks for the further clarification :).
What part did you misunderstand, sorry? We explicitly state:
If using Spyder 3.3.0 or later, you’ll need to launch the kernel with python -m spyder_kernels.console (after you’ve first installed spyder-kernels on the host with <conda/pip> install spyder-kernels).
IPython.embed_kernel(), or am I still confused here?
SpyderKernelAppshutdown. I'll check back in when I have something stable and nice.
quitas a console command; that does it for me.
print()logging statements after the
app.start()line that should no longer be blocking after the
quit, so I'm not totally sure where the execution goes.
I have another question. My app uses a
pip workflow and I'd like to "prove out" using Spyder while still in Python2 before I start moving the app to Python3. Can I get Spyder running with PySide2 instead of PyQt5 in Python2, and does https://github.com/spyder-ide/qtpy factor in here somehow?
Also, what's the best way to launch Spyder in a separate Python process from within my app? I was hoping for some sort of "run" function to use as a
target to my
QtPyis a Qt binding abstraction layer we develop and (along with a number of other applications) use, along with the similarly named alternative Qt.Py) that allows users to (theoretically, at least) swap in either of the two major Qt binding packages and have our code work the same in either of them. We used to support both
PySide(before PySide2 existed), PyQt4 and PyQt5, but due to PySide's limitations, as well as slow support for Python 3 and reliance on the EoL Qt 4, we had to drop support a few years back (we finally dropped PyQt4 a year or so ago in Spyder 3.3.0). We hope to add Qt for Python support at some point (i.e. modern PySide2) if there's someone interested in developing it, once Qt 5.12 is built and stable on Anaconda (to allow us to use it with the biggest distribution that ships us) and it is mature enough, which should hopefully be soon...ish. We would welcome the help, if you might be willing to contribute, and I'm sure we would be more than happy to provide guidance.