spyder-ide / spyder

Official repository for Spyder - The Scientific Python Development Environment
https://www.spyder-ide.org
MIT License
8.3k stars 1.61k forks source link

Inspect doesn't work Linux #20413

Open PhilipYip1988 opened 1 year ago

PhilipYip1988 commented 1 year ago

Issue Report Checklist

Inspect doesn't work on Linux.

Inspect doesn't work on Linux. Inspect works on Windows and opens the Help Pane.

What steps reproduce the problem?

  1. In the script editor input import datetime as dt
  2. Use dt.datetime
  3. The datetime classes docstring should display as a popup balloon
  4. It doesn't on Windows or Linux
  5. Highlight the datetime class and select Inspect
  6. Nothing Happens on Linux, Help Pane Loads the Documentation on Windows
  7. Right click it and press Ctrl + i
  8. Nothing Happens, Help Pane Loads the Documentation on Windows

What is the expected output? What do you see instead?

The list of identifiers display from dt. as expected:

img1

The docstring popup balloon displays for the date class as expected:

img2

No docstring popup balloon displays for the datetime class:

img3

Highlighting the datetime class and selecting Inspect:

img4

This does nothing on Linux and opens the documentation up in the Help Pane in Windows. The same behaviour happens with a builtin such as print so more generally the Help Pane can't be used in Linux.

The list of identifiers displays correctly in the IPython Console and the docstring displays here for the datetime class:

img5

img6

No docstring displays for the datetime class (possible there is some confusion because the module and the class are both called datetime) or the tzinfo abstract class. Works fine for the other functions and classes in the datetime module.

Code completion works much better in this version of Spyder than previous versions. However it now works better in Windows than in Linux. If np. is input and the down arrow is pressed to highlight an item. On Windows the docstring displays, on Linux it displays for an instance and then subsequently disappears:

img7

The docstring displays properly when the full function name is input:

img8

Paste Traceback/Error Below (if applicable)


PASTE TRACEBACK HERE

Versions

Dependencies

# Mandatory:
atomicwrites >=1.2.0          :  1.4.1 (OK)
chardet >=2.0.0               :  5.1.0 (OK)
cloudpickle >=0.5.0           :  2.2.0 (OK)
cookiecutter >=1.6.0          :  2.1.1 (OK)
diff_match_patch >=20181111   :  20200713 (OK)
intervaltree >=3.0.2          :  3.0.2 (OK)
IPython >=7.31.1;<9.0.0       :  8.7.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.2.7 (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.4 (OK)
pygments >=2.0                :  2.14.0 (OK)
pylint >=2.5.0;<3.0           :  2.15.9 (OK)
pylint_venv >=2.1.1           :  2.3.0 (OK)
pyls_spyder >=0.4.0           :  0.4.0 (OK)
pylsp >=1.7.1;<1.8.0          :  1.7.1 (OK)
pylsp_black >=1.2.0           :  1.2.1 (OK)
qdarkstyle >=3.0.2;<3.1.0     :  3.0.3 (OK)
qstylizer >=0.2.2             :  0.2.2 (OK)
qtawesome >=1.2.1             :  1.2.2 (OK)
qtconsole >=5.4.0;<5.5.0      :  5.4.0 (OK)
qtpy >=2.1.0                  :  2.3.0 (OK)
rtree >=0.9.7                 :  1.0.1 (OK)
setuptools >=49.6.0           :  65.6.3 (OK)
sphinx >=0.6.6                :  6.0.0 (OK)
spyder_kernels >=2.4.2;<2.5.0 :  2.4.2 (OK)
textdistance >=4.2.0          :  4.5.0 (OK)
three_merge >=0.1.1           :  0.1.1 (OK)
watchdog >=0.10.3             :  2.2.1 (OK)
xdg >=0.26                    :  0.28 (OK)
zmq >=22.1.0                  :  24.0.1 (OK)

# Optional:
cython >=0.21                 :  0.29.32 (OK)
matplotlib >=3.0.0            :  3.6.2 (OK)
numpy >=1.7                   :  1.24.1 (OK)
pandas >=1.1.1                :  1.5.2 (OK)
scipy >=0.17.0                :  1.9.3 (OK)
sympy >=0.7.3                 :  1.11.1 (OK)
ccordoba12 commented 1 year ago

Hey @PhilipYip1988, thanks for reporting. I think I know what's the cause for this problem and we'll take a look at it in Spyder 6, to be released during the second half of the year.