spyder-ide / spyder

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

Autocomplete not working in editor #4587

Closed nbroers closed 7 years ago

nbroers commented 7 years ago

Description of your problem

Autocomplete stopped working in the Spyder editor (it worked before, but no longer).

What steps will reproduce the problem?

  1. Fresh install of Spyder and upgrade all dependencies
  2. Reset Spyder to factory settings
  3. Type the following in a new file:

jannie = 'aaa' jann

(Followed by CTRL + SPACE to activate autocomplete). Nothing happens. No output in Python console.

Also, no results when attempting auto-complete for built-in modules, functions, etc.

If I go to Consoles -> Open a Python Console and do the same, then autocomplete does work.

I can confirm that CTRL + SPACE also works correctly in the Sublime Text editor.

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

Expected popup of autocomplete dialog. No popup appeared.

Please provide any additional information below

The following settings are enabled in Preferences -> Editor -> Code Introspection/Analysis:

Versions and main components

Dependencies

Please go to the menu entry Help > Optional Dependencies (or Help > Dependencies), press the button Copy to clipboard and paste the contents below:

jedi >=0.9.0 : 0.10.2 (OK) matplotlib >=1.0 : None (NOK) nbconvert >=4.0 : 5.2.1 (OK) numpy >=1.7 : None (NOK) pandas >=0.13.1 : None (NOK) pep8 >=0.6 : 1.7.0 (OK) pyflakes >=0.6.0 : 1.5.0 (OK) pygments >=2.0 : 2.2.0 (OK) pylint >=0.25 : 1.7.1 (OK) qtconsole >=4.2.0: 4.3.0 (OK) rope >=0.9.4 : 0.10.5 (OK) sphinx >=0.6.6 : 1.6.2 (OK) sympy >=0.7.3 : 1.0 (OK) autocomplete

ccordoba12 commented 7 years ago

Thanks for reporting. This is a duplicate of issue #4410.

We still don't know why but autocompletion is working fine for Anaconda users and broken for some users that don't use it.

So my suggestion is to use Anaconda instead of your own Python installation, if possible.

kepy97 commented 6 years ago

I just reinstalled anaconda and auto completion working now.

Steps that I followed:

1> Uninstall Anaconda from control panel 2> Restart Computer 3> Download and install anconda from [https://www.anaconda.com/download/#windows] 4> Restart again before it you start anaconda. 5> done.

Dependencies in spyder - 3.2.4 (python 3.6)

IPython >=4.0 : 6.1.0 (OK) cython >=0.21 : 0.26.1 (OK) jedi >=0.9.0 : 0.10.2 (OK) nbconvert >=4.0 : 5.3.1 (OK) numpy >=1.7 : 1.13.3 (OK) pandas >=0.13.1 : 0.20.3 (OK) pycodestyle >=2.3: 2.3.1 (OK) pyflakes >=0.6.0 : 1.6.0 (OK) pygments >=2.0 : 2.2.0 (OK) pylint >=0.25 : 1.7.4 (OK) qtconsole >=4.2.0: 4.3.1 (OK) rope >=0.9.4 : 0.10.5 (OK) sphinx >=0.6.6 : 1.6.3 (OK) sympy >=0.7.3 : 1.1.1 (OK)

isaac2lord commented 6 years ago

Have faced the same problem today. Auto-completion works fine in IPython console but not working in Editor for Pandas functions.

What steps will reproduce the problem? -- Fresh install from Anaconda -- When I type in a new line jannie = 'aaa' jann

It works fine in Editor (either by TAB or CTRL+SPACE) and IPython Console.

But in another example:

import re
import pandas as pd

time_sentences = ["Monday: The doctor's appointment is at 2:45pm.", 
                  "Tuesday: The dentist's appointment is at 11:30 am.",
                  "Wednesday: At 7:00pm, there is a basketball game!",
                  "Thursday: Be back home by 11:15 pm at the latest.",
                  "Friday: Take the train at 08:10 am, arrive at 09:00am."]

df = pd.DataFrame(time_sentences, columns=['text'])

When I type

df.te

and strike TAB (or CNTR+SPACE), nothing happens in Editor, though it works fine in IPython Console.

Please provide any additional information below

image

Versions and main components

Dependencies

IPython >=4.0 : 6.2.1 (OK) cython >=0.21 : 0.27.3 (OK) jedi >=0.9.0 : 0.11.1 (OK) nbconvert >=4.0 : 5.3.1 (OK) numpy >=1.7 : 1.14.2 (OK) pandas >=0.13.1 : 0.22.0 (OK) pycodestyle >=2.3: 2.3.1 (OK) pyflakes >=0.6.0 : 1.6.0 (OK) pygments >=2.0 : 2.2.0 (OK) pylint >=0.25 : 1.8.2 (OK) qtconsole >=4.2.0: 4.3.1 (OK) rope >=0.9.4 : 0.10.7 (OK) sphinx >=0.6.6 : 1.6.6 (OK) sympy >=0.7.3 : 1.1.1 (OK)

JPelda commented 6 years ago

Autocompletion does not work for me either in editor nor in Ipython console. Sometimes it does sometimes not. And it is very slow if it happens to work. spyder 3.2.8

# Name Version Build Channel alabaster 0.7.10 py35h3a808de_0 asn1crypto 0.24.0 py35_0 babel 2.6.0 py35_0 backcall 0.1.0 py35_0 blas 1.0 mkl ca-certificates 2018.03.07 0 certifi 2018.4.16 py35_0 cffi 1.11.5 py35h945400d_0 chardet 3.0.4 py35h177e1b7_1 colorama 0.3.9 py35h32a752f_0 commonmark 0.5.4 py35_0 clinicalgraphics cryptography 2.2.2 py35hfa6e2cd_0 decorator 4.3.0 py35_0 docutils 0.14 py35h8ccb97f_0 icc_rt 2017.0.4 h97af966_0 idna 2.7 py35_0 imagesize 1.0.0 py35_0 intel-openmp 2018.0.3 0 ipython 5.6.0 py35_0 ipython_genutils 0.2.0 py35ha709e79_0 jedi 0.12.0 py35_1 jinja2 2.10 py35hdf652bb_0 markupsafe 1.0 py35hc253e08_1 mkl 2018.0.3 1 mkl_fft 1.0.1 py35h452e1ab_0 mkl_random 1.0.1 py35h9258bd6_0 numpy 1.14.5 py35h9fa60d3_0 numpy-base 1.14.5 py35h5c71026_0 numpydoc 0.8.0 py35_0 openssl 1.0.2o h8ea7d77_0 packaging 17.1 py35_0 pandas 0.23.1 py35h830ac7b_0 parso 0.1.1 py35he39c48a_0 pickleshare 0.7.4 py35h2f9f535_0 pip 10.0.1 py35_0 prompt_toolkit 1.0.15 py35h89c7cb4_0 pycparser 2.18 py35h15a15da_1 pygments 2.2.0 py35h24c0941_0 pyopenssl 18.0.0 py35_0 pyparsing 2.2.0 py35hcabcaab_1 pysocks 1.6.8 py35_0 python 3.5.5 h0c2934d_2 python-dateutil 2.5.0 py35_0 clinicalgraphics pytz 2018.4 py35_0 recommonmark 0.2.0 py35_0 clinicalgraphics requests 2.14.2 py35_0 rope 0.10.7 py35h5756fe0_0 setuptools 39.2.0 py35_0 simplegeneric 0.8.1 py35_2 six 1.11.0 py35hc1da2df_1 snowballstemmer 1.2.1 py35h4c55bfa_0 sphinx 1.7.5 py35_0 sphinx-rtd-theme 0.4.0 sphinxcontrib 1.0 py35h45f5ca3_1 sphinxcontrib-websupport 1.1.0 py35_1 traitlets 4.3.2 py35h09b975b_0 urllib3 1.14 py35_0 clinicalgraphics vc 14 h0510ff6_3 vs2015_runtime 14.0.25123 3 wcwidth 0.1.7 py35h6e80d8a_0 wheel 0.31.1 py35_0 win_inet_pton 1.0.1 py35hbef1270_1 win_unicode_console 0.5 py35h56988b5_0 wincertstore 0.2 py35hfebbdb8_0
ghost commented 6 years ago

For me, autocompletion only works in IPython, but not in the editor...

_ipyw_jlab_nb_ext_conf 0.1.0 py36he6757f0_0 alabaster 0.7.10 py36hcd07829_0 anaconda 5.0.1 py36h8316230_2 anaconda-client 1.6.5 py36hd36550c_0 anaconda-navigator 1.6.9 py36hc720852_0 anaconda-project 0.8.0 py36h8b3bf89_0 anytree 2.4.3 asn1crypto 0.22.0 py36h8e79faa_1 astor 0.7.1 astroid 1.5.3 py36h9d85297_0 astropy 2.0.2 py36h06391c4_4 babel 2.5.0 py36h35444c1_0 backcall 0.1.0 py36_0 backports 1.0 py36h81696a8_1 backports.shutil_get_terminal_size 1.0.0 py36h79ab834_2 beautifulsoup4 4.6.0 py36hd4cc5e8_1 bitarray 0.8.1 py36h6af124b_0 bkcharts 0.2 py36h7e685f7_0 blaze 0.11.3 py36h8a29ca5_0 bleach 2.0.0 py36h0a7e3d6_0 bokeh 0.12.10 py36h0be3b39_0 boto 2.48.0 py36h1a776d2_1 bottleneck 1.2.1 py36hd119dfa_0 bzip2 1.0.6 vc14hdec8e7a_1 [vc14] ca-certificates 2018.03.07 0 cachecontrol 0.12.3 py36hfe50d7b_0 certifi 2018.8.13 py36_0 cffi 1.10.0 py36hae3d1b5_1 chardet 3.0.4 py36h420ce6e_1 click 6.7 py36hec8c647_0 cloudpickle 0.4.0 py36h639d8dc_0 clyent 1.2.2 py36hb10d595_1 cocos2d 0.6.5 colorama 0.3.9 py36h029ae33_0 comtypes 1.1.2 py36heb9b3d1_0 conda 4.5.10 py36_0 conda-build 3.0.27 py36h309a530_0 conda-env 2.6.0 1 conda-verify 2.0.0 py36h065de53_0 console_shortcut 0.1.1 h6bb2dd7_3 contextlib2 0.5.5 py36he5d52c0_0 cryptography 2.0.3 py36h123decb_1 curl 7.55.1 vc14hdaba4a4_3 [vc14] cycler 0.10.0 py36h009560c_0 cython 0.26.1 py36h18049ac_0 cytoolz 0.8.2 py36h547e66e_0 dask 0.15.3 py36h396fcb9_0 dask-core 0.15.3 py36hd651449_0 datashape 0.5.4 py36h5770b85_0 decorator 4.1.2 py36he63a57b_0 distlib 0.2.5 py36h51371be_0 distributed 1.19.1 py36h8504682_0 docutils 0.14 py36h6012d8f_0 emoji 0.5.0 entrypoints 0.2.3 py36hfd66bb0_2 enum34 1.1.6 et_xmlfile 1.0.1 py36h3d2d736_0 fastcache 1.0.2 py36hffdae1b_0 filelock 2.0.12 py36hd7ddd41_0 flask 0.12.2 py36h98b5e8f_0 flask-cors 3.0.3 py36h8a3855d_0 freetype 2.8 vc14h17c9bdf_0 [vc14] future 0.16.0 get_terminal_size 1.0.0 h38e98db_0 gevent 1.2.2 py36h342a76c_0 glob2 0.5 py36h11cc1bd_1 greenlet 0.4.12 py36ha00ad21_0 h5py 2.7.0 py36hfbe0a52_1 hdf5 1.10.1 vc14hb361328_0 [vc14] heapdict 1.0.0 py36h21fa5f4_0 html5lib 0.999999999 py36ha09b1f3_0 icc_rt 2017.0.4 h97af966_0 icu 58.2 vc14hc45fdbb_0 [vc14] idna 2.6 py36h148d497_1 imageio 2.2.0 py36had6c2d2_0 imagesize 0.7.1 py36he29f638_0 imgurpython 1.1.7 intel-openmp 2018.0.0 hcd89f80_7 ipykernel 4.6.1 py36hbb77b34_0 ipython 6.5.0 py36_0 ipython_genutils 0.2.0 py36h3c5d0ee_0 ipywidgets 7.0.0 py36h2e74ada_0 isort 4.2.15 py36h6198cc5_0 itsdangerous 0.24 py36hb6c5a24_1 jdcal 1.3 py36h64a5255_0 jedi 0.12.1 py36_0 jinja2 2.9.6 py36h10aa3a0_1 jpeg 9b vc14h4d7706e_1 [vc14] jsonschema 2.6.0 py36h7636477_0 jupyter 1.0.0 py36h422fd7e_2 jupyter_client 5.1.0 py36h9902a9a_0 jupyter_console 5.2.0 py36h6d89b47_1 jupyter_core 4.3.0 py36h511e818_0 jupyterlab 0.27.0 py36h34cc53b_2 jupyterlab_launcher 0.4.0 py36h22c3ccf_0 keyring 13.2.1 py36_0 lazy-object-proxy 1.3.1 py36hd1c21d2_0 libiconv 1.15 vc14h29686d3_5 [vc14] libpng 1.6.32 vc14h5163883_3 [vc14] libssh2 1.8.0 vc14hcf584a9_2 [vc14] libtiff 4.0.8 vc14h04e2a1e_10 [vc14] libxml2 2.9.4 vc14h8fd0f11_5 [vc14] libxslt 1.1.29 vc14hf85b8d4_5 [vc14] llvmlite 0.20.0 py36_0 locket 0.2.0 py36hfed976d_1 lockfile 0.12.2 py36h0468280_0 lxml 4.1.0 py36h0dcd83c_0 lzo 2.10 vc14h0a64fa6_1 [vc14] markupsafe 1.0 py36h0e26971_1 matplotlib 2.1.0 py36h11b4b9c_0 mccabe 0.6.1 py36hb41005a_1 menuinst 1.4.10 py36h42196fb_0 mistune 0.7.4 py36h4874169_0 mkl 2018.0.0 h36b65af_4 mkl-service 1.1.2 py36h57e144c_4 mpmath 0.19 py36he326802_2 msgpack-python 0.4.8 py36h58b1e9d_0 multipledispatch 0.4.9 py36he44c36e_0 navigator-updater 0.1.0 py36h8a7b86b_0 nbconvert 5.3.1 py36h8dc0fde_0 nbformat 4.4.0 py36h3a5bc1b_0 networkx 2.0 py36hff991e3_0 nltk 3.2.4 py36hd0e0a39_0 nose 1.3.7 py36h1c3779e_2 notebook 5.0.0 py36hd9fbf6f_2 numba 0.35.0 np113py36_10 numexpr 2.6.2 py36h7ca04dc_1 numpy 1.13.3 py36ha320f96_0 numpydoc 0.7.0 py36ha25429e_0 odo 0.5.1 py36h7560279_0 olefile 0.44 py36h0a7bdd2_0 openpyxl 2.4.8 py36hf3b77f6_1 openssl 1.0.2p hfa6e2cd_0 ordered-set 3.0.1 packaging 16.8 py36ha0986f6_1 pandas 0.20.3 py36hce827b7_2 pandoc 1.19.2.1 hb2460c7_1 pandocfilters 1.4.2 py36h3ef6317_1 parso 0.3.1 py36_0 partd 0.3.8 py36hc8e763b_0 path.py 10.3.1 py36h3dd8b46_0 pathlib2 2.3.0 py36h7bfb78b_0 patsy 0.4.1 py36h42cefec_0 pep8 1.7.0 py36h0f3d67a_0 pickleshare 0.7.4 py36h9de030f_0 pillow 4.2.1 py36hdb25ab2_0 pip 9.0.1 py36hadba87b_3 pip 18.0 pkginfo 1.4.1 py36hb0f9cfa_1 ply 3.10 py36h1211beb_0 progress 1.3 py36hbeca8d3_0 prompt_toolkit 1.0.15 py36h60b8f86_0 psutil 5.4.0 py36h4e662fb_0 py 1.4.34 py36ha4aca3a_1 pycodestyle 2.3.1 py36h7cc55cd_0 pycosat 0.6.3 py36hfa6e2cd_0 pycparser 2.18 py36hd053e01_1 pycrypto 2.6.1 py36he68e6e2_1 pycurl 7.43.0 py36h086bf4c_3 pyflakes 1.6.0 py36h0b975d6_0 pyglet 1.3.0 pygments 2.2.0 py36hb010967_0 PyLaTeX 1.3.0 pylint 1.7.4 py36ha4e6ded_0 pyodbc 4.0.17 py36h0006bc2_0 pyopenssl 17.2.0 py36h15ca2fc_0 pyparsing 2.2.0 py36h785a196_1 pyqt 5.6.0 py36hb5ed885_5 pysocks 1.6.7 py36h698d350_1 pytables 3.4.2 py36h71138e3_2 pytest 3.2.1 py36h753b05e_1 python 3.6.3 h9e2ca53_1 python-dateutil 2.6.1 py36h509ddcb_1 python-telegram-bot 10.0.2 pytz 2017.2 py36h05d413f_1 pywavelets 0.5.2 py36hc649158_0 pywin32 221 py36h9c10281_0 pyyaml 3.12 py36h1d1928f_1 pyzmq 16.0.2 py36h38c27d9_2 qt 5.6.2 vc14h6f8c307_12 [vc14] qtawesome 0.4.4 py36h5aa48f6_0 qtconsole 4.3.1 py36h99a29a9_0 qtpy 1.3.1 py36hb8717c5_0 requests 2.18.4 py36h4371aae_1 rope 0.10.5 py36hcaf5641_0 ruamel_yaml 0.11.14 py36h9b16331_2 scikit-image 0.13.0 py36h6dffa3f_1 scikit-learn 0.19.1 py36h53aea1b_0 scipy 0.19.1 py36h7565378_3 seaborn 0.8.0 py36h62cb67c_0 setuptools 36.5.0 py36h65f9e6e_0 simplegeneric 0.8.1 py36heab741f_0 singledispatch 3.4.0.3 py36h17d0c80_0 sip 4.18.1 py36h9c25514_2 six 1.11.0 py36h4db2310_1 snowballstemmer 1.2.1 py36h763602f_0 sortedcollections 0.5.3 py36hbefa0ab_0 sortedcontainers 1.5.7 py36ha90ac20_0 sphinx 1.6.3 py36h9bb690b_0 sphinxcontrib 1.0 py36hbbac3d2_1 sphinxcontrib-websupport 1.0.1 py36hb5e5916_1 spyder 3.3.1 py36_1 spyder-kernels 0.2.4 py36_0 sqlalchemy 1.1.13 py36h5948d12_0 sqlite 3.20.1 vc14h7ce8c62_1 [vc14] statsmodels 0.8.0 py36h6189b4c_0 sympy 1.1.1 py36h96708e0_0 tblib 1.3.2 py36h30f5020_0 testpath 0.3.1 py36h2698cfe_0 tk 8.6.7 vc14hb68737d_1 [vc14] toolz 0.8.2 py36he152a52_0 tornado 4.5.2 py36h57f6048_0 traitlets 4.3.2 py36h096827d_0 typing 3.6.2 py36hb035bda_0 unicodecsv 0.14.1 py36h6450c06_0 unotools 0.3.3 urllib3 1.22 py36h276f60a_0 vboxapi 1.0 vc 14.1 h0510ff6_3 vk 2.0.2 vk-api 11.0.0 vs2015_runtime 15.5.2 3 wcwidth 0.1.7 py36h3d5aa90_0 webencodings 0.5.1 py36h67c50ae_1 werkzeug 0.12.2 py36h866a736_0 wheel 0.29.0 py36h6ce6cde_1 widgetsnbextension 3.0.2 py36h364476f_1 wikipedia 1.4.0 win_inet_pton 1.0.1 py36he67d7fd_1 win_unicode_console 0.5 py36hcdbd4b5_0 wincertstore 0.2 py36h7fe50ca_0 wrapt 1.10.11 py36he5f5981_0 xlrd 1.1.0 py36h1cb58dc_1 xlsxwriter 1.0.2 py36hf723b7d_0 xlwings 0.11.4 py36hd3cf94d_0 xlwt 1.3.0 py36h1a4751e_0 yaml 0.1.7 vc14hb31d195_1 [vc14] zict 0.1.3 py36h2d8e73e_0 zlib 1.2.11 vc14h1cdd9ab_1
lleeoo commented 6 years ago

I'm seeing a slight variation of this. On my system, Autocomplete works fine when I first start Spyder, but then after a while (I am not sure what, maybe some form of power event), it ceases to work. Everything else seems to be working fine.

Is there a separate issue related to that? Or should I create one?

I am on Anaconda 3, very latest, Spyder: image

ccordoba12 commented 6 years ago

@lleeoo, please don't open more issues about this. Right now we're working on replacing our current completion architecture for a new one, but that work is going to land in Spyder 4. Due to that, we're not going to try to fix this problem in Spyder 3.

ambareeshsrja16 commented 5 years ago

https://stackoverflow.com/questions/18044312/spyder-does-not-autocomplete-local-variables

sparkstars commented 5 years ago

Auto completion was working for me on Console but not in the editor (SPYDER). updated the Jedi using below command in terminal and its working fine now: conda update jedi

mehtadarshak commented 5 years ago

On my mac, it wasn't working earlier when I was keeping spyder IDE open and anaconda (its parent window) close. I reopened spyder and this time kept anaconda open as well, and autocomplete started working.

No complications needed.

Cheers

alessioSalvaggio commented 5 years ago

I have solved this issue removing and installing again the "rope" pkg for python.

sudo pip3 install rope

This fixed the issue for me

k1000a commented 5 years ago

I'm having the same problem. Autocomplete not working on python nor in IPython notebook. Particularly, for dataframes.

Here are the details:

IPython >=4.0 : 6.4.0 (OK) cython >=0.21 : 0.28.2 (OK) jedi >=0.9.0 : 0.12.0 (OK) nbconvert >=4.0 : 5.3.1 (OK) numpy >=1.7 : 1.14.3 (OK) pandas >=0.13.1 : 0.23.0 (OK) pycodestyle >=2.3: 2.4.0 (OK) pyflakes >=0.6.0 : 1.6.0 (OK) pygments >=2.0 : 2.2.0 (OK) pylint >=0.25 : 1.8.4 (OK) qtconsole >=4.2.0: 4.3.1 (OK) rope >=0.9.4 : 0.10.7 (OK) sphinx >=0.6.6 : 1.7.4 (OK) sympy >=0.7.3 : 1.1.1 (OK)

Please let me know what to do. Thanks!

shaktikshri commented 5 years ago

sad to say but spyder has by far proven to be the most unstable IDE I ever used. Have been trying to fix things around since morning and stuff keeps breaking one after the other. And now I am again trying to look for why autocomplete isn't working :( This is not the first time this issue has happened, seems more like Spyder’s internal decision decides when autocomplete should work and when not depending on the day of the week.

shepherdia commented 4 years ago

As an R user I always felt very disappointed with Spyder. I often wish RStudio team could develop a PyStudio to totally replace Spyder.

sjgd commented 3 years ago

I installed Spyder using the Anaconda GUI and it may have created dependencies issues:

spyder 4.2.1 requires pyqt5<5.13, which is not installed. spyder 4.2.1 requires pyqtwebengine<5.13, which is not installed. spyder 4.2.1 requires jedi==0.17.2, but you have jedi 0.18.0 which is incompatible. spyder 4.2.1 requires parso==0.7.0, but you have parso 0.8.1 which is incompatible. python-language-server 0.36.2 requires jedi<0.18.0,>=0.17.2, but you have jedi 0.18.0 which is incompatible.

To solve this I ran the following command in Anaconda prompt in Administration mode for the related environment (from Windows start search)

pip install --upgrade --force-reinstall spyder

and it reinstalled the required version of the dependencies. Now autocompletion is working.

Note: I ran into uninstalling packages issues while reinstalling spyder. Use pip uninstall to manually uninstall a package.