Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Editor autocompletion and help extraction not working in Spyder 3.1.4 #4410

Closed
jrast opened this issue Apr 27, 2017 · 115 comments
Closed

Editor autocompletion and help extraction not working in Spyder 3.1.4 #4410

jrast opened this issue Apr 27, 2017 · 115 comments

Comments

@jrast
Copy link

jrast commented Apr 27, 2017

I have updated Spyder (pip install -U spyder) to 3.1.4 and the autocompletion in the editor stopped working. In the IPython console it's still working, but not in the editor.

Please provide any additional information below

  • Spyder Version: 3.1.4
  • Python Version: 3.5.3 32-bit
  • Qt Version: 5.8.0
  • PyQt Version: 5.8.1
  • Operating system: Windows 7

Dependencies

jedi >=0.9.0 : 0.10.2 (OK)
matplotlib >=1.0 : 2.0.0 (OK)
nbconvert >=4.0 : 5.1.1 (OK)
numpy >=1.7 : 1.11.3 (OK)
pandas >=0.13.1 : 0.19.2 (OK)
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.9.4-1 (OK)
sphinx >=0.6.6 : 1.5.5 (OK)
sympy >=0.7.3 : None (NOK)

@ccordoba12
Copy link
Member

@dalthviz, please take a look at this one. Notice that the OP has Jedi 0.10.2 installed.

@jrast
Copy link
Author

jrast commented Apr 28, 2017

Ok, after several restarts of Spyder, it's seems like it's working sometimes but not always. Kind of hard to say when it's working and when not.

I will update the issue as soon as I can see some pattern.

@BjornFJohansson
Copy link

got this too, downgraded to 0.9.0 from 0.10.0 and it came back.

@minzheguo
Copy link

I got the same issue. Changing jedi version didn't work for me.
Downgrading spyder from 3.1 to 3.0 worked for me.

@stonebig
Copy link
Contributor

stonebig commented May 14, 2017

could it be a timeout issue ? on a too slowed computer, jedi abort itself ?

@ccordoba12
Copy link
Member

Is this only happening on Windows for you guys?

@minzheguo
Copy link

minzheguo commented May 14, 2017

I re-updated the Spyder to the 3.1.4 version. But the autocompletion didn't work again in the editor (nothing showed up after waiting for about almost 1 minute).

Then I re-downgraded the Spyder to 3.0.2, and it worked again. The code-completion showed up immediately after I typed "numpy." or pressed short-cut.
Next, I tested spyder 3.1.0 and 3.1.2. They worked as well as 3.0.2.

When I tested spyder 3.1.3. A missing dependency error message showed as follows:
jedi =0.9.0: 0.10.2 (NOK)
I ignored the error message, and the autocompletion still worked.

Finally, I updated spyder to 3.1.4 again, and the autocompletion didn't work.

The tests were run on a windows 7 x64 PC. Used the spyder 3 for Python 3.5 installed through conda.
Haven't tested other environments.

Hope these help!

Some more information about my environment:

Python 3.5.2 :: Anaconda custom (64-bit)

jedi >=0.9.0 : 0.10.2
matplotlib >=1.0 : 2.0.0
nbconvert >=4.0 : 4.2.0
numpy >=1.7 : 1.11.3
pandas >=0.13.1 : 0.19.2
pep8 >=0.6 : 1.7.0
pyflakes >=0.6.0 : 1.5.0
pygments >=2.0 : 2.1.3
pylint >=0.25 : 1.6.4
qtconsole >=4.2.0: 4.2.1
rope >=0.9.4 : 0.9.4
sphinx >=0.6.6 : 1.5.1
sympy >=0.7.3 : 1.0

@stonebig
Copy link
Contributor

stonebig commented May 14, 2017

on my old pc, spyder3.2.0dev2017-05-11:

  • starts very slowly, even for a hot restart,
  • if I try on the editor "import nump"+<Tab> to launch completion before all processes have calmed down (50 seconds after launching Spyder), no completion will happen.

in the past, hot restart were quick,

@jrast
Copy link
Author

jrast commented May 15, 2017

  • Downgraded Jedi to 0.9.0 -> Spyder Crashed on each startup (even after spyder --reset)
  • Tried Jedi 0.10.0 -> Same behaviour as 0.10.2
  • Installed Jedi 0.10.2 again -> Same behaviour as before.

Note that in the IPython console and Python console, the autocompletion works as expected and is quite responsive. For numpy / matplotlib the completion is available with no notable delay. The problem exists only in the editor window.

@ccordoba12 ccordoba12 changed the title Editor autocompletion in Spyder 3.1.4 not working Editor autocompletion and help extraction not working in Spyder 3.1.4 May 15, 2017
@ccordoba12 ccordoba12 modified the milestones: v3.2, v3.2.1 May 16, 2017
@ccordoba12
Copy link
Member

ccordoba12 commented May 17, 2017

I can't reproduce this in an Anaconda environment with all packages up to date. There was a problem with the Jedi conda package (one of our completion libraries) but it was solved on Sunday, so people using Anaconda please update Jedi with

conda update jedi

I also tested this with all pip packages (inside a conda env because I can't do it otherwise, but the env only provides Python and pip as base packages) and everything is fine there too.

So I don't know what happens in your case, sorry.

@ccordoba12
Copy link
Member

Packages for pip are also all up to date.

@ccordoba12
Copy link
Member

Downgraded Jedi to 0.9.0 -> Spyder Crashed on each startup (even after spyder --reset)

For this to work you also need to downgrade IPython because it now depends on Jedi too. That's where the crash comes from.

@ccordoba12 ccordoba12 removed this from the v3.2.1 milestone May 17, 2017
@FuZhiyu
Copy link

FuZhiyu commented May 24, 2017

jedi >=0.8.1 : 0.9.0 (OK)
matplotlib >=1.0 : None (NOK)
nbconvert >=4.0 : 5.1.1 (OK)
numpy >=1.7 : None (NOK)
pandas >=0.13.1 : None (NOK)
pep8 >=0.6 : 1.7.0 (OK)
psutil >=0.3 : 5.2.2 (OK)
pyflakes >=0.6.0 : 1.5.0 (OK)
pygments >=2.0 : 2.2.0 (OK)
pylint >=0.25 : 1.6.4 (OK)
qtconsole >=4.2.0: 4.3.0 (OK)
rope >=0.9.4 : 0.9.4-1 (OK)
sphinx >=0.6.6 : 1.5.6 (OK)
sympy >=0.7.3 : None (NOK)

Here is my dependency. I'm running on MacOS Sierra. I've tried all versions of jedi and spyder available, but no one works.

I give up now. TAT

@BjornFJohansson
Copy link

BjornFJohansson commented May 24, 2017

I run on ubuntu like this and it seems to work

(bjorn3) bjorn@bjorn-ThinkPad-T450s:~$ conda list
# packages in environment at /home/bjorn/anaconda3/envs/bjorn3:
#
_license                  1.1                      py35_1    defaults
alabaster                 0.7.9                    py35_0    defaults
anaconda                  custom                   py35_0    defaults
anaconda-clean            1.1.0                    py35_0    defaults
anaconda-client           1.6.2                    py35_0    defaults
anaconda-navigator        1.5.1                    py35_0    defaults
anaconda-project          0.4.1                    py35_0    defaults
appdirs                   1.4.3                    py35_0    conda-forge
argcomplete               1.0.0                    py35_1    defaults
args                      0.1.0                    py35_0    conda-forge
arrow                     0.8.0                    py35_0    conda-forge
astroid                   1.4.9                    py35_0    defaults
astropy                   1.3                 np111py35_0    defaults
babel                     2.3.4                    py35_0    defaults
backports                 1.0                      py35_0    defaults
backports.shutil_get_terminal_size 1.0.0                    py35_0    conda-forge
beautifulsoup4            4.5.3                    py35_0    defaults
binaryornot               0.4.0                    py35_1    conda-forge
biopython                 1.68                np111py35_0    defaults
bitarray                  0.8.1                    py35_0    defaults
blaze                     0.10.1                   py35_0    defaults
bleach                    1.5.0                    py35_0    conda-forge
blinker                   1.4                      py35_0    conda-forge
bokeh                     0.12.4                   py35_0    defaults
boto                      2.45.0                   py35_0    defaults
bottleneck                1.2.0               np111py35_0    defaults
cachetools                2.0.0                    py35_0    conda-forge
cairo                     1.14.8                        0    defaults
cffi                      1.9.1                    py35_0    defaults
chardet                   2.3.0                    py35_0    defaults
chest                     0.2.3                    py35_0    defaults
click                     6.7                      py35_0    defaults
clint                     0.5.1                    py35_0    conda-forge
cloudpickle               0.2.2                    py35_0    defaults
clyent                    1.2.2                    py35_0    defaults
cobra                     0.5.11                    <pip>
collective.checkdocs      0.2                       <pip>
colorama                  0.3.7                    py35_0    defaults
configobj                 5.0.6                    py35_0    defaults
contextlib2               0.5.4                    py35_0    defaults
cookiecutter              1.5.0                    py35_0    conda-forge
coverage                  4.3.4                    py35_0    defaults
cryptography              1.7.1                    py35_0    defaults
curl                      7.52.1                        0    defaults
cycler                    0.10.0                   py35_0    defaults
cython                    0.25.2                   py35_0    defaults
cytoolz                   0.8.2                    py35_0    defaults
dask                      0.13.0                   py35_0    defaults
datashape                 0.5.4                    py35_0    defaults
dbus                      1.10.10                       0    defaults
decorator                 4.0.11                   py35_0    defaults
dill                      0.2.5                    py35_0    defaults
docopt                    0.6.2                    py35_0    defaults
docutils                  0.13.1                   py35_0    defaults
dropbox                   6.9.0                     <pip>
dynd-python               0.7.2                    py35_0    defaults
entrypoints               0.2.2                    py35_1    defaults
et_xmlfile                1.0.1                    py35_0    defaults
expat                     2.1.0                         0    defaults
ezodf                     0.3.2                    py35_0    openglider
fastcache                 1.0.2                    py35_1    defaults
feedgenerator             1.9                      py35_0    conda-forge
filelock                  2.0.6                    py35_0    defaults
flask                     0.12                     py35_0    defaults
flask-cors                3.0.2                    py35_0    defaults
fontconfig                2.12.1                        2    defaults
freetype                  2.5.5                         2    defaults
future                    0.15.2                   py35_0    defaults
get_terminal_size         1.0.0                    py35_0    defaults
gevent                    1.2.1                    py35_0    defaults
ghp-import                0.5.5                    py35_0    conda-forge
glib                      2.50.2                        1    defaults
gmp                       6.1.1                         0    conda-forge
greenlet                  0.4.11                   py35_0    defaults
gst-plugins-base          1.8.0                         0    defaults
gstreamer                 1.8.0                         0    defaults
h5py                      2.6.0               np111py35_2    defaults
harfbuzz                  0.9.39                        2    defaults
hdf5                      1.8.17                        1    defaults
heapdict                  1.0.0                    py35_1    defaults
html5lib                  0.999                    py35_0    defaults
icu                       54.1                          0    defaults
idna                      2.2                      py35_0    defaults
imagesize                 0.7.1                    py35_0    defaults
ipykernel                 4.6.1                    py35_0    defaults
ipython                   6.0.0                    py35_0    defaults
ipython_genutils          0.2.0                    py35_0    defaults
ipywidgets                6.0.0                    py35_0    defaults
isort                     4.2.5                    py35_0    defaults
itsdangerous              0.24                     py35_0    defaults
jbig                      2.1                           0    defaults
jdcal                     1.3                      py35_0    defaults
jedi                      0.9.0                    py35_1    defaults
jinja2                    2.9.4                    py35_0    defaults
jinja2-time               0.1.0                    py35_0    conda-forge
jpeg                      9b                            0    defaults
jsonschema                2.5.1                    py35_0    defaults
jupyter                   1.0.0                    py35_3    defaults
jupyter_client            5.0.1                    py35_0    defaults
jupyter_console           5.1.0                    py35_0    defaults
jupyter_core              4.3.0                    py35_0    defaults
jupytercontrib            0.0.6                     <pip>
jupyterlab                0.19.0                   py35_0    conda-forge
lazy-object-proxy         1.2.2                    py35_0    defaults
libdynd                   0.7.2                         0    defaults
libffi                    3.2.1                         1    defaults
libgcc                    4.8.5                         2    defaults
libgfortran               3.0.0                         1    defaults
libiconv                  1.14                          0    defaults
libpng                    1.6.27                        0    defaults
libsodium                 1.0.10                        0    defaults
libtiff                   4.0.6                         3    defaults
libxcb                    1.12                          1    defaults
libxml2                   2.9.4                         0    defaults
libxslt                   1.1.29                        0    defaults
llvmlite                  0.15.0                   py35_0    defaults
locket                    0.2.0                    py35_1    defaults
lxml                      3.7.2                    py35_0    defaults
markdown                  2.6.8                    py35_0    defaults
markupsafe                0.23                     py35_2    defaults
matplotlib                2.0.0               np111py35_0    defaults
mementos                  1.2.2                     <pip>
mistune                   0.7.3                    py35_0    defaults
mkl                       2017.0.1                      0    defaults
mkl-service               1.1.2                    py35_3    defaults
mpldatacursor             0.6.2                         0    BjornFJohansson
mpmath                    0.19                     py35_1    defaults
multipledispatch          0.4.9                    py35_0    defaults
nb_conda                  2.0.0                    py35_0    conda-forge
nb_conda_kernels          2.0.0                    py35_0    conda-forge
nbconvert                 5.1.1                    py35_0    defaults
nbformat                  4.3.0                    py35_0    defaults
nbpresent                 3.0.2                    py35_1    conda-forge
nbval                     0.5                      py35_0    BjornFJohansson
networkx                  1.11                     py35_0    defaults
nltk                      3.2.2                    py35_0    defaults
nose                      1.3.7                    py35_1    defaults
notebook                  5.0.0                    py35_0    defaults
notedown                  1.5.0                    py35_0    BjornFJohansson
numba                     0.30.1              np111py35_0    defaults
numexpr                   2.6.1               np111py35_2    defaults
numpy                     1.11.3                   py35_0    defaults
numpydoc                  0.6.0                    py35_0    defaults
odo                       0.5.0                    py35_1    defaults
openpyxl                  2.4.1                    py35_0    defaults
openssl                   1.0.2k                        0    defaults
ordered-set               2.0.1                    py35_0    conda-forge
pandas                    0.19.2              np111py35_1    defaults
pandoc                    1.19.1                        0    BjornFJohansson
pandoc-attributes         0.1.7                    py35_0    BjornFJohansson
pandocfilters             1.4.1                    py35_0    conda-forge
partd                     0.3.7                    py35_0    defaults
patchelf                  0.9                           0    defaults
path.py                   10.0                     py35_0    defaults
pathlib2                  2.2.0                    py35_0    defaults
patsy                     0.4.1                    py35_0    defaults
pcre                      8.39                          1    defaults
pdfkit                    0.5.0                    py35_0    bioconda
pep8                      1.7.0                    py35_0    defaults
percache                  0.3.0                     <pip>
pexpect                   4.2.1                    py35_0    defaults
pickleshare               0.7.4                    py35_0    defaults
pillow                    4.0.0                    py35_0    defaults
pint                      0.7.2                    py35_0    conda-forge
pip                       9.0.1                    py35_1    defaults
pixman                    0.34.0                        0    defaults
pkginfo                   1.3.2                    py35_0    defaults
ply                       3.9                      py35_0    defaults
poyo                      0.3.0                    py35_0    conda-forge
prettytable               0.7.2                    py35_0    conda-forge
prompt_toolkit            1.0.9                    py35_0    defaults
psutil                    5.0.1                    py35_0    defaults
ptyprocess                0.5.1                    py35_0    defaults
py                        1.4.32                   py35_0    defaults
pyasn1                    0.1.9                    py35_0    defaults
pycosat                   0.6.1                    py35_1    defaults
pycparser                 2.17                     py35_0    defaults
pycrypto                  2.6.1                    py35_4    defaults
pycurl                    7.43.0                   py35_2    defaults
pydna                     2.0.0                     <pip>
pyflakes                  1.5.0                    py35_0    defaults
pygments                  2.1.3                    py35_0    defaults
pyinstaller               3.2.3                    py35_0    acellera
pylint                    1.6.4                    py35_1    defaults
pyopenssl                 16.2.0                   py35_0    defaults
pypandoc                  1.4                      py35_0    BjornFJohansson
pyparsing                 2.1.4                    py35_0    defaults
pypdf2                    1.26.0                   py35_1    conda-forge
pyqt                      5.6.0                    py35_2    defaults
pytables                  3.3.0               np111py35_0    defaults
pytest                    3.0.5                    py35_0    defaults
pytest-cov                2.4.0                    py35_0    conda-forge
python                    3.5.2                         0    defaults
python-dateutil           2.6.0                    py35_0    defaults
pytz                      2016.10                  py35_0    defaults
pyyaml                    3.12                     py35_0    defaults
pyzmq                     16.0.2                   py35_0    defaults
qt                        5.6.2                         3    defaults
qtawesome                 0.4.3                    py35_0    defaults
qtconsole                 4.3.0                    py35_0    defaults
qtpy                      1.2.1                    py35_0    defaults
readline                  6.2                           2    defaults
redis                     3.2.0                         0    defaults
redis-py                  2.10.5                   py35_0    defaults
reportlab                 3.3.0                    py35_0    defaults
requests                  2.12.4                   py35_0    defaults
requests-toolbelt         0.7.0                    py35_0    conda-forge
rope                      0.9.4                    py35_1    defaults
ruamel_yaml               0.11.7                   py35_0    defaults
runipy                    0.1.5                    py35_0    defaults
scikit-image              0.12.3              np111py35_1    defaults
scikit-learn              0.18.1              np111py35_1    defaults
scipy                     0.18.1              np111py35_1    defaults
seaborn                   0.7.1                    py35_0    defaults
setproctitle              1.1.10                   py35_0    conda-forge
setuptools                27.2.0                   py35_0    defaults
sh                        1.11                     py35_0    defaults
simplegeneric             0.8.1                    py35_1    defaults
simplejson                3.10.0                   py35_0    defaults
singledispatch            3.4.0.3                  py35_0    defaults
sip                       4.18                     py35_0    defaults
six                       1.10.0                    <pip>
six                       1.10.0                   py35_0    defaults
snowballstemmer           1.2.1                    py35_0    defaults
sockjs-tornado            1.0.3                    py35_0    defaults
sphinx                    1.5.1                    py35_0    defaults
sphinx_rtd_theme          0.1.9                    py35_0    defaults
spyder                    3.1.4                    py35_0    defaults
sqlalchemy                1.1.5                    py35_0    defaults
sqlite                    3.13.0                        0    defaults
statsmodels               0.6.1               np111py35_1    defaults
sympy                     1.0                      py35_0    defaults
termcolor                 1.1.0                    py35_1    conda-forge
terminado                 0.6                      py35_0    defaults
testpath                  0.3                      py35_0    conda-forge
tk                        8.5.18                        0    defaults
toolz                     0.8.2                    py35_0    defaults
tornado                   4.4.2                    py35_0    defaults
tqdm                      4.11.2                   py35_0    defaults
traitlets                 4.3.2                    py35_0    defaults
twine                     1.8.1                    py35_1    conda-forge
typing                    3.5.2.2                   <pip>
unicodecsv                0.14.1                   py35_0    defaults
unidecode                 0.04.20                  py35_0    defaults
urllib3                   1.16                     py35_1    conda-forge
urllib3                   1.18                      <pip>
versioneer                0.18                     py35_0    conda-forge
wcwidth                   0.1.7                    py35_0    defaults
werkzeug                  0.11.15                  py35_0    defaults
wheel                     0.29.0                   py35_0    defaults
whichcraft                0.4.0                    py35_0    conda-forge
widgetsnbextension        2.0.0                    py35_0    defaults
wkhtmltopdf               0.12.3                        0    bioconda
wrapt                     1.10.8                   py35_0    defaults
xlrd                      1.0.0                    py35_0    defaults
xlsxwriter                0.9.6                    py35_0    defaults
xlwt                      1.2.0                    py35_0    defaults
xz                        5.2.2                         1    defaults
yaml                      0.1.6                         0    defaults
zeromq                    4.1.5                         0    defaults
zlib                      1.2.8                         3    defaults

@ccordoba12
Copy link
Member

@BjornFJohansson, what if you create a conda environment with Spyder, free of any conda-forge package?

@ccordoba12
Copy link
Member

Ups, sorry @BjornFJohansson, it seems you don't have any problem.

@FuZhiyu
Copy link

FuZhiyu commented May 25, 2017

I had used VSC for a while until I needed to do some exploratory work and changed back to Spyder. I have done nothing but reopen it, but the code completion miraculously comes back!
I swear I have reopened and even reinstalled it for plenty of times yesterday, and have done nothing related to spyder even since I gave up.

But it works now. O.o

@ccordoba12
Copy link
Member

@FuZhiyu, I think that's because you updated Jedi and restarted Spyder after that.

@nbroers
Copy link

nbroers commented Jun 14, 2017

Please let me know if I can help in any way? I have the same issue on my environment. Details in Bug #4587 (marked as duplicate)

@ccordoba12
Copy link
Member

We don't know why this is happening. Our recommendation (for now) is to use Anaconda, which doesn't have this problem.

@bharathvn
Copy link

I am running Anaconda on Mac Sierra. I am facing this issue.

@CAM-Gerlach
Copy link
Member

@elinor-lev This is because those methods, at least according to the video, haven't been officially supported for a long time except by old versions of Spyder, so either you're getting an old, broken version or the method itself breaks something with the independent threads/processes Spyder launches to run the completion engines. If the latter, there is a chance this may be fixed in Spyder 4, however.

@BRdubW

I find that the anacoda install works very well and have switched away from my linux distro (debian pure, xubuntu, and centos 7) versions of spyder et. al. as they are all outdated and are in various states of broken.

Yes; while we are currently working with their maintainers to try to get them updated as best we can, we recommend you use Anaconda to get the latest versions with fewer stability and install problems.

Given the feedback from the developers, the transition to 4.0 ought to address the issues that stem in one or another from the way in which the spyder evolution went for awhile in terms of dependencies on third party components over which they had no control.

That's the hope, yup. The two biggest areas where we've observed noticed third-party problems are (first and foremost) the autocompletion/help/introspection (rope, jedi, parso), which the major overhaul with LSP should mostly or entirely address, and to a lesser extent issues with the kernel not working in the IPython console (due to ipykernel, tornado, etc) and related issues with managing packages and environments, which already are starting to be addressed with the main focus of the newly released Spyder 3.3.0/3.3.1 with refactoring all the kernel/console code into a modular spyder-kernels package that can easily be installed anywhere to allow Spyder to launch kernels or connect to them remotely, and well as more and better documentation explaining this to avoid missteps, and will see further improvements in Spyder 4.

In any case, we really appreciate your feedback and support, and user requests play a big role in what we prioritize for future versions—the two biggest features for Spyder 4, a new debugger and overhauled completion/introspection—were the top two most requested by users of Spyder 3, and the third biggest, better Projects with easy package and environment management to simplify workflow, stems from both requests and being one of the biggest difficulties new users have reported facing.

@endolith
Copy link

endolith commented Oct 8, 2018

@aisolution It's conda update --all, and it downgraded Spyder from 3.3.1 to 3.2.8 and caused Spyder to start having other issues

@CAM-Gerlach
Copy link
Member

@endolith This is not really recommended, and updating one or more dependencies to a version not tested together in the anaconda metapackage is the likely reason for this problem in the first place.

However, the fact that updating...something...is requiring Spyder>=3.2.8 is worrisome, and seems to match what was reported on another thread. @endolith can you run conda install spyder=3.3.1 and post your full output here? We need to know what's causing this, thanks.

@endolith
Copy link

endolith commented Oct 8, 2018

It's probably my fault for using conda-forge? I don't really understand how channels work.

conda install spyder=3.3.1 says:

The following packages will be UPDATED:

    blas:            1.0-mkl                 conda-forge --> 1.0-mkl
    spyder:          3.2.8-py36_0            conda-forge --> 3.3.1-py36_2         conda-forge

The following packages will be DOWNGRADED:

    clangdev:        6.0.1-default_1         conda-forge [vc14] --> 5.0.0-flang_3        conda-forge [flang,vc14]
    curl:            7.61.0-he44d5f6_2       conda-forge --> 7.60.0-vc14_0        conda-forge [vc14      ]
    freetype:        2.9.1-he8b6a0d_1004     conda-forge --> 2.8.1-vc14_0         conda-forge [vc14      ]
    jpeg:            9c-hfa6e2cd_1001        conda-forge --> 9b-vc14_2            conda-forge [vc14      ]
    libarchive:      3.3.3-hd1ea8e3_1001     conda-forge --> 3.3.2-h1d0d21d_1
    libiconv:        1.15-hfa6e2cd_1003      conda-forge --> 1.14-vc14_4          conda-forge [vc14      ]
    libpng:          1.6.35-h7602738_1002    conda-forge --> 1.6.34-vc14_0        conda-forge [vc14      ]
    libprotobuf:     3.6.1-h1a1b453_1000     conda-forge --> 3.5.2-vc14_0         conda-forge [vc14      ]
    libxml2:         2.9.8-h9ce36c8_1005     conda-forge --> 2.9.5-vc14_1         conda-forge [vc14      ]
    llvmdev:         6.0.1-h1ad3211_1002     conda-forge --> 4.0.0-default_0      conda-forge [vc14      ]
    lxml:            4.2.5-py36heafd4d3_1000 conda-forge --> 4.2.3-py36heafd4d3_0 conda-forge
    matplotlib:      3.0.0-py36h7b168c4_1    conda-forge --> 2.2.2-py36_1         conda-forge
    openblas:        0.3.3-h535eed3_1001     conda-forge --> 0.2.20-vc14_8        conda-forge [vc14      ]
    openmp:          6.0.1-h1ad3211_0        conda-forge --> 5.0.0-vc14_0         conda-forge [vc14      ]
    pillow:          5.3.0-py36h9a613e6_1000 conda-forge --> 5.2.0-py36_0         conda-forge
    protobuf:        3.6.1-py36he025d50_1    conda-forge --> 3.5.2-py36_vc14_0    conda-forge [vc14      ]
    python-crfsuite: 0.9.6-py36he980bc4_1000 conda-forge --> 0.9.2-py36_vc14_0    conda-forge [vc14      ]
    spyder-kernels:  1.1.0-py_0              conda-forge --> 0.2.6-py_1           conda-forge
    sqlite:          3.25.2-hfa6e2cd_1000    conda-forge --> 3.22.0-vc14_0        conda-forge [vc14      ]
    tensorboard:     1.10.0-py36_0           conda-forge --> 1.9.0-py36_0         conda-forge
    tensorflow:      1.10.0-py36_0           conda-forge --> 1.9.0-py36_0         conda-forge

When I then run update all again, I get:

The following NEW packages will be INSTALLED:

    llvmdev:             6.0.1-h1ad3211_1002  conda-forge

The following packages will be UPDATED:

    clangdev:            5.0.0-flang_3        conda-forge [flang,vc14] --> 6.0.1-default_1         conda-forge [vc14]
    curl:                7.60.0-vc14_0        conda-forge [vc14      ] --> 7.61.0-he44d5f6_2       conda-forge
    jpeg:                9b-vc14_2            conda-forge [vc14      ] --> 9c-hfa6e2cd_1001        conda-forge
    keras-preprocessing: 1.0.2-py_1           conda-forge --> 1.0.5-py_0              conda-forge
    libarchive:          3.3.2-h1d0d21d_1                 --> 3.3.3-hd1ea8e3_1001     conda-forge
    libiconv:            1.14-vc14_4          conda-forge [vc14      ] --> 1.15-hfa6e2cd_1003      conda-forge
    libpng:              1.6.34-vc14_0        conda-forge [vc14      ] --> 1.6.35-h7602738_1002    conda-forge
    libprotobuf:         3.5.2-vc14_0         conda-forge [vc14      ] --> 3.6.1-h1a1b453_1000     conda-forge
    libxml2:             2.9.5-vc14_1         conda-forge [vc14      ] --> 2.9.8-h9ce36c8_1005     conda-forge
    lxml:                4.2.3-py36heafd4d3_0 conda-forge --> 4.2.5-py36heafd4d3_1000 conda-forge
    openblas:            0.2.20-vc14_8        conda-forge [vc14      ] --> 0.3.3-h535eed3_1001     conda-forge
    openmp:              5.0.0-vc14_0         conda-forge [vc14      ] --> 6.0.1-h1ad3211_0        conda-forge
    pillow:              5.2.0-py36h08bbbbd_0             --> 5.3.0-py36h9a613e6_1000 conda-forge
    protobuf:            3.5.2-py36_vc14_0    conda-forge [vc14      ] --> 3.6.1-py36he025d50_1    conda-forge
    python-crfsuite:     0.9.2-py36_vc14_0    conda-forge [vc14      ] --> 0.9.6-py36he980bc4_1000 conda-forge
    spyder-kernels:      0.2.6-py_1           conda-forge --> 1.1.0-py_0              conda-forge
    sqlite:              3.22.0-vc14_0        conda-forge [vc14      ] --> 3.25.2-hfa6e2cd_1000    conda-forge
    tensorboard:         1.9.0-py36_0         conda-forge --> 1.10.0-py36_0           conda-forge
    tensorflow:          1.9.0-py36_0         conda-forge --> 1.10.0-py36_0           conda-forge

The following packages will be DOWNGRADED:

    blas:                1.0-mkl                          --> 1.0-mkl                 conda-forge
    keras:               2.2.4-py36_0         conda-forge --> 2.1.6-py36_0            conda-forge
    spyder:              3.3.1-py36_2         conda-forge --> 3.2.8-py36_0            conda-forge

@ccordoba12
Copy link
Member

@endolith, please stop doing conda update --all. Instead you need to do

conda remove spyder-kernels
conda install spyder-kernel==0.*
conda update spyder

@ccordoba12
Copy link
Member

It's probably my fault for using conda-forge?

No, it's not conda-forge. it's conda update --all, which you need to stop using because it breaks the restrictions imposed by some packages on others.

@BRdubW
Copy link

BRdubW commented Oct 8, 2018 via email

@CAM-Gerlach
Copy link
Member

CAM-Gerlach commented Oct 8, 2018

@ccordoba12 Well, to be fair @mingwandroid did give some pretty dire warnings against mixing channels. However, if you're pure conda-forge from the start that shouldn't be the issue.

Here's a thought....remove conda update --all option ???? Just sayin'

@BRdubW First of all, that's of course part of conda, not Spyder, so we have zero control over what they do. Second, that option exists for a very specific and valid purpose and nowhere does their user guide recommend it for general use, so there is no reason to remove it, but rather better educate users on appropriate package management strategies (that will incidentally be much easier with Spyder 4, as it will have GUI package and environment management built in as an added feature) and encourage users to carefully read the user guide and documentation before blindly running conda update --all without a clear rationale and understanding of how it works and what to do if a dependency issue arises.

@ccordoba12
Copy link
Member

@BRdubW, yeah, that'd be great! Pip stop forcing it on its users since its 10 version, and that's a blessing.

@endolith
Copy link

endolith commented Oct 8, 2018

which you need to stop using

Well I didn't do it until this thread told me to. :D

@partha1968
Copy link

partha1968 commented Oct 8, 2018 via email

@ccordoba12
Copy link
Member

@partha1968, simply update the packages that you an update for: conda update spyder, conda update pandas, etc.

@CAM-Gerlach
Copy link
Member

CAM-Gerlach commented Oct 8, 2018

Will this create problem (breaking depedencies) ?

@partha1968 Yes, that's exactly what has happened here and what @ccordoba12 and myself are saying.

If yes, how to update conda?

conda update conda

Taking your question less literally, if you want to update everything, you can update the anaconda metapackage to do so a few times a year for your base env, and otherwise only updating specific packages with specific things you need (spyder, pandas, qtconsole, etc) when an update comes out you want to use.

@endolith
Copy link

endolith commented Oct 8, 2018

@ccordoba12

That doesn't seem to work for me:

λ conda install spyder-kernel==0.*
Solving environment: failed

PackagesNotFoundError: The following packages are not available from current channels:

  - spyder-kernel=0

simply update the packages that you an update for: conda update spyder, conda update pandas, etc.

That's what I had been doing

@ccordoba12
Copy link
Member

It's spyder-kernels, not spyder-kernel.

@CAM-Gerlach
Copy link
Member

CAM-Gerlach commented Oct 8, 2018

@endolith Also, for the record, the canonical conda syntax is conda install spyder-kernels=0 .

@endolith
Copy link

endolith commented Oct 8, 2018

Ok, well I still have the Ctrl+I → "No documentation available" problem after following those directions. Works from command line but not from editor.

IPython >=4.0     :  7.0.1 (OK)
cython >=0.21     :  0.28.5 (OK)
jedi >=0.9.0      :  0.13.1 (OK)
matplotlib >=2.0.0:  3.0.0 (OK)
nbconvert >=4.0   :  5.3.1 (OK)
numpy >=1.7       :  1.15.2 (OK)
pandas >=0.13.1   :  0.23.4 (OK)
pycodestyle >=2.3 :  2.4.0 (OK)
pyflakes >=0.6.0  :  2.0.0 (OK)
pygments >=2.0    :  2.2.0 (OK)
pylint >=0.25     :  2.1.1 (OK)
qtconsole >=4.2.0 :  4.4.1 (OK)
rope >=0.9.4      :  0.10.7 (OK)
sphinx >=0.6.6    :  1.8.1 (OK)
sympy >=0.7.3     :  1.3 (OK)

@CAM-Gerlach
Copy link
Member

@endolith Did you try autocompletion as well from the Editor? Sometimes Spyder's third-party completion libraries rope and jedi aren't able to find docstrings by static analysis, while dynamic analysis is much easier to do. Do you have enum34 installed by any chance? Can you try from an environment with anaconda version 5.3.0 installed (conda install anaconda=5.3.0) to ensure your package versions are consistent with the supported standard? Most likely, a third-party dependency down the chain was updated that broke another dependency, etc. such that there is the problem. Thanks.

@Jimmeee
Copy link

Jimmeee commented Nov 1, 2018

I am having similar issues.

I just did a new install of Spyder via Anaconda, on Ubuntu 16.04. As we use Python 2.X, I had to install Anaconda2-5.3.0-Linux-x86_64.sh, which uses Python 2.7.15 and Spyder 3.3.1.

I have gone to Tools -> Settings -> Editor -> Code Introspection, and checked all the options, which includes "Link to object definition."

However, control-i before a command* always gives "No documentation available."

Because I am new to Python, this is a huge issue to me. Context-sensitive usage/syntax help would be much better than looking up every command with a book, and this capability was one of the things that led me to choose Spyder.

*Note that I created a custom class and then an object of that class, and I was able to get control-i to work on that object. Perhaps I am expecting the help to be too general. Does it literally only work on objects, as opposed to classes, or any other type of command (e.g., print, import, etc.)? I guess what I am looking for is not just help on object definition, but essentially automatically calling up the man page on arbitrary keywords.

@CAM-Gerlach
Copy link
Member

Most likely, if this isn't a machine specific issue it has to do with something with the specific versions of the third-party libraries Spyder depends on for its completion and introspection, e.g. rope, jedi, parso etc. Please paste the full output of the Spyder dependencies dialog (Help > Dependencies) in a

code-block

to help us isolate that. Also, make sure you don't have enum34 installed anywhere in your environment, Also, let us know if code completion (Tab) and go to definition (Ctrl-click a symbol name) works. Try creating and testing a fresh environment with just spyder, e.g.

conda create -n your-name-here python=2 # If you must still use Python 2...
source activate your-name-here
conda install spyder
spyder

You can also consult our Spyder Troubleshooting Guide, specifically the Basic First Aid and Emergency CPR sections,

Context-sensitive usage/syntax help would be much better than looking up every command with a book, and this capability was one of the things that led me to choose Spyder.

True, and its a very important feature for me as well (which is why I'm really hopeful for the major improvements in this area coming soon in Spyder 4), although to be fair my standard fallback is a dedicated browser window I keep open on one of my monitors to quickly Alt-Tab and search for a function, method or class of interest.

Perhaps I am expecting the help to be too general. Does it literally only work on objects, as opposed to classes, or any other type of command (e.g., print, import, etc.)?

It should work on anything that has a properly retrievable docstring, whether that is a builtin, function, class, method, instance, module, package, etc. If functions don't have docstrings or have incorrectly formatted ones, it may not be as helpful but should at least print the function signature and the other features (autocompletion, go to definition, calltips etc) should still work, and you can also switch help to source code mode to view the actual source of the function.

The main reason all this might not work for specific symbols is if a package is structured in a non-standard way or with some functions are compiled/C/FORTRAN/etc. code, common with some pandas, numpy, and scipy functions, since there's no easy way for them to be retrieved statically from the source without running the code (which is why they'll work in the Console, where dynamic analysis is used for all of this, but not in the Editor where static analysis is the method of choice).

@Jimmeee
Copy link

Jimmeee commented Nov 1, 2018

Thank you for the quick reply. I haven't tried any third-party packages yet like numpy. I was just going through the Python reserved word list and some other commands I knew and couldn't get any definitions for those.

I will try setting up the non-Anaconda version as soon as I can. My current output for dependencies is:

IPython >=4.0;<6.0:  5.8.0 (OK)
cython >=0.21     :  0.28.5 (OK)
jedi >=0.9.0      :  0.12.1 (OK)
matplotlib >=2.0.0:  2.2.3 (OK)
nbconvert >=4.0   :  5.4.0 (OK)
numpy >=1.7       :  1.15.1 (OK)
pandas >=0.13.1   :  0.23.4 (OK)
psutil >=0.3      :  5.4.7 (OK)
pycodestyle >=2.3 :  2.4.0 (OK)
pyflakes >=0.5.0  :  2.0.0 (OK)
pygments >=2.0    :  2.2.0 (OK)
pylint >=0.25     :  1.9.2 (OK)
qtconsole >=4.2.0 :  4.4.1 (OK)
rope >=0.9.4      :  0.11.0 (OK)
sphinx >=0.6.6    :  1.7.9 (OK)
sympy >=0.7.3     :  1.2 (OK)

@CAM-Gerlach
Copy link
Member

@Jimmeee

I was just going through the Python reserved word list and some other commands I knew and couldn't get any definitions for those.

Generally, the reserved words (like def, with, for etc.) won't have docstrings since are syntactical components of the language itself, unlike the builtin functions (print(), open(), etc), and they are very basic but few in number so you should be able to learn them soon enough. Also, aside from the builtins you won't be able to get help on a function, method or module you haven't written in import statement for in your code, since there's no way for the introspection to know what you mean (you could theoretically be referring to anything).

I will try setting up the non-Anaconda version as soon as I can.

Please stick with Anaconda; its the best way to reduce the changes of dependency problems like this and avoid a botched installation.

My current output for dependencies is:

FYI, triple backticks on their own line above and below will create a multi-line code block. I fixed your post above to demonstrate.

@Jimmeee
Copy link

Jimmeee commented Nov 2, 2018

Ahhh, open() works. Maybe I was just trying words that have no docstring. Print doesn't work, but my understanding is that in Python 2.X, print wasn't a function (but in 3.X it is), so maybe that's why.

@CAM-Gerlach
Copy link
Member

@Jimmeee Yes, print is a reserved word in Python 2.x, but as of >= 2.6 it is also a function as in 3, print(), which is how you certainly should be calling it anyway.

@kkumar949
Copy link

kkumar949 commented Feb 10, 2019

Hi all, I have a similar problem. My help and autocomplete does not work but only for the Keras library.

_ipyw_jlab_nb_ext_conf    0.1.0                    py36_0  
alabaster                 0.7.12                   py36_0  
anaconda-client           1.7.2                    py36_0  
anaconda-navigator        1.9.6                    py36_0  
anaconda-project          0.8.2                    py36_0  
appnope                   0.1.0            py36hf537a9a_0  
asn1crypto                0.24.0                   py36_0  
astroid                   2.1.0                    py36_0  
astropy                   3.1.1            py36h1de35cc_0  
atomicwrites              1.2.1                    py36_0  
attrs                     18.2.0           py36h28b3542_0  
babel                     2.6.0                    py36_0  
backcall                  0.1.0                    py36_0  
backports                 1.0                      py36_1  
backports.os              0.1.1                    py36_0  
backports.shutil_get_terminal_size 1.0.0                    py36_2  
beautifulsoup4            4.7.1                    py36_1  
bitarray                  0.8.3            py36h1de35cc_0  
bkcharts                  0.2              py36h073222e_0  
blas                      1.0                         mkl  
blaze                     0.11.3                   py36_0  
bleach                    3.1.0                    pypi_0    pypi
blosc                     1.14.4               hd9629dc_0  
bokeh                     1.0.4                    py36_0  
boto                      2.49.0                   py36_0  
bottleneck                1.2.1            py36h1d22016_1  
bzip2                     1.0.6                h1de35cc_5  
ca-certificates           2019.1.23                     0  
certifi                   2018.11.29               py36_0  
cffi                      1.11.5           py36h6174b99_1  
chardet                   3.0.4                    py36_1  
click                     7.0                      py36_0  
cloudpickle               0.7.0                      py_0  
clyent                    1.2.2                    py36_1  
colorama                  0.4.1                    py36_0  
conda                     4.6.2                    py36_0  
conda-build               3.17.8                   py36_0  
conda-env                 2.6.0                         1  
conda-verify              3.1.1                    py36_0  
contextlib2               0.5.5            py36hd66e5e7_0  
cryptography              2.4.2            py36ha12b0ac_0  
curl                      7.63.0            ha441bb4_1000  
cycler                    0.10.0           py36hfc81398_0  
cython                    0.29.4           py36h0a44026_0  
cytoolz                   0.9.0.1          py36h1de35cc_1  
dask                      1.1.1                      py_0  
dask-core                 1.1.1                      py_0  
datashape                 0.5.4                    py36_1  
dbus                      1.13.2               h760590f_1  
decorator                 4.3.2                    py36_0  
defusedxml                0.5.0                    py36_1  
distributed               1.25.3                   py36_0  
docutils                  0.14             py36hbfde631_0  
entrypoints               0.3                      py36_0  
et_xmlfile                1.0.1            py36h1315bdc_0  
expat                     2.2.6                h0a44026_0  
fastcache                 1.0.2            py36h1de35cc_2  
filelock                  3.0.10                   py36_0  
flask                     1.0.2                    py36_1  
flask-cors                3.0.7                    py36_0  
freetype                  2.9.1                hb4e5f40_0  
future                    0.17.1                   py36_0  
get_terminal_size         1.0.0                h7520d66_0  
gettext                   0.19.8.1             h15daf44_3  
gevent                    1.4.0            py36h1de35cc_0  
glib                      2.56.2               hd9629dc_0  
glob2                     0.6                      py36_1  
gmp                       6.1.2                hb37e062_1  
gmpy2                     2.0.8            py36h6ef4df4_2  
greenlet                  0.4.15           py36h1de35cc_0  
h5py                      2.8.0            py36h878fce3_3  
hdf5                      1.10.2               hfa1e0ec_1  
heapdict                  1.0.0                    py36_2  
html5lib                  1.0.1                    py36_0  
icu                       58.2                 h4b95b61_1  
idna                      2.8                      py36_0  
imageio                   2.4.1                    py36_0  
imagesize                 1.1.0                    py36_0  
importlib_metadata        0.7                      py36_0  
intel-openmp              2019.1                      144  
ipykernel                 5.1.0            py36h39e3cac_0  
ipython                   7.2.0            py36h39e3cac_0  
ipython_genutils          0.2.0            py36h241746c_0  
ipywidgets                7.4.2                    py36_0  
isort                     4.3.4                    py36_0  
itsdangerous              1.1.0                    py36_0  
jbig                      2.1                  h4d881f8_0  
jdcal                     1.4                      py36_0  
jedi                      0.13.2                   py36_0  
jinja2                    2.10                     py36_0  
jpeg                      9b                   he5867d9_2  
jsonschema                2.6.0            py36hb385e00_0  
jupyter                   1.0.0                    py36_7  
jupyter_client            5.2.4                    py36_0  
jupyter_console           6.0.0                    py36_0  
jupyter_core              4.4.0                    py36_0  
jupyterlab                0.35.3                   py36_0  
jupyterlab_server         0.2.0                    py36_0  
keyring                   17.1.1                   py36_0  
kiwisolver                1.0.1            py36h0a44026_0  
krb5                      1.16.1               hddcf347_7  
lazy-object-proxy         1.3.1            py36h1de35cc_2  
libarchive                3.3.3                h786848e_5  
libcurl                   7.63.0            h051b688_1000  
libcxx                    4.0.1                hcfea43d_1  
libcxxabi                 4.0.1                hcfea43d_1  
libedit                   3.1.20170329         hb402a30_2  
libffi                    3.2.1                h475c297_4  
libgfortran               3.0.1                h93005f0_2  
libiconv                  1.15                 hdd342a3_7  
liblief                   0.9.0                h2a1bed3_0  
libpng                    1.6.35               ha441bb4_0  
libsodium                 1.0.16               h3efe00b_0  
libssh2                   1.8.0                ha12b0ac_4  
libtiff                   4.0.9                hcb84e12_2  
libxml2                   2.9.8                hab757c2_1  
libxslt                   1.1.32               hb819dd2_0  
llvmlite                  0.27.0           py36h8c7ce04_0  
locket                    0.2.0            py36hca03003_1  
lxml                      4.3.0            py36hef8c89e_0  
lz4-c                     1.8.1.2              h1de35cc_0  
lzo                       2.10                 h362108e_2  
markupsafe                1.1.0            py36h1de35cc_0  
matplotlib                3.0.2            py36h54f8f79_0  
mccabe                    0.6.1                    py36_1  
mistune                   0.8.4            py36h1de35cc_0  
mkl                       2019.1                      144  
mkl-service               1.1.2            py36hfbe908c_5  
mkl_fft                   1.0.10           py36h5e564d8_0  
mkl_random                1.0.2            py36h27c97d8_0  
more-itertools            5.0.0                    py36_0  
mpc                       1.1.0                h6ef4df4_1  
mpfr                      4.0.1                h3018a27_3  
mpmath                    1.1.0                    py36_0  
msgpack-python            0.6.1            py36h04f5b5a_1  
multipledispatch          0.6.0                    py36_0  
navigator-updater         0.2.1                    py36_0  
nbconvert                 5.4.0                    py36_1  
nbformat                  4.4.0            py36h827af21_0  
ncurses                   6.1                  h0a44026_1  
networkx                  2.2                      py36_1  
nltk                      3.4                      py36_1  
nose                      1.3.7                    py36_2  
notebook                  5.7.4                    py36_0  
numba                     0.42.0           py36h6440ff4_0  
numexpr                   2.6.9            py36h7413580_0  
numpy                     1.15.4           py36hacdab7b_0  
numpy-base                1.15.4           py36h6575580_0  
numpydoc                  0.8.0                    py36_0  
odo                       0.5.1            py36hc1af34a_0  
olefile                   0.46                     py36_0  
openpyxl                  2.5.14                     py_0  
openssl                   1.1.1a               h1de35cc_0  
packaging                 19.0                     py36_0  
pandas                    0.24.1           py36h0a44026_0  
pandoc                    1.19.2.1             ha5e8f32_1  
pandocfilters             1.4.2                    py36_1  
parso                     0.3.2                    py36_0  
partd                     0.3.9                    py36_0  
path.py                   11.5.0                   py36_0  
pathlib2                  2.3.3                    py36_0  
patsy                     0.5.1                    py36_0  
pcre                      8.42                 h378b8a2_0  
pep8                      1.7.1                    py36_0  
pexpect                   4.6.0                    py36_0  
pickleshare               0.7.5                    py36_0  
pillow                    5.4.1            py36hb68e598_0  
pip                       19.0.1                   py36_0  
pkginfo                   1.5.0.1                  py36_0  
pluggy                    0.8.1                    py36_0  
ply                       3.11                     py36_0  
prometheus_client         0.5.0                    py36_0  
prompt_toolkit            2.0.8                      py_0  
psutil                    5.5.0            py36h1de35cc_0  
ptyprocess                0.6.0                    py36_0  
py                        1.7.0                    py36_0  
py-lief                   0.9.0            py36hd4eaf27_0  
pycodestyle               2.5.0                    py36_0  
pycosat                   0.6.3            py36h1de35cc_0  
pycparser                 2.19                     py36_0  
pycrypto                  2.6.1            py36h1de35cc_9  
pycurl                    7.43.0.2         py36ha12b0ac_0  
pyflakes                  2.1.0                    py36_0  
pygments                  2.3.1                    py36_0  
pylint                    2.2.2                    py36_0  
pyodbc                    4.0.25           py36h0a44026_0  
pyopenssl                 19.0.0                   py36_0  
pyparsing                 2.3.1                    py36_0  
pyqt                      5.9.2            py36h655552a_2  
pysocks                   1.6.8                    py36_0  
pytables                  3.4.4            py36h13cba08_0  
pytest                    4.2.0                    py36_0  
pytest-arraydiff          0.3              py36h39e3cac_0  
pytest-astropy            0.5.0                    py36_0  
pytest-doctestplus        0.2.0                    py36_0  
pytest-openfiles          0.3.2                    py36_0  
pytest-remotedata         0.3.1                    py36_0  
python                    3.6.8                haf84260_0  
python-dateutil           2.7.5                    py36_0  
python-libarchive-c       2.8                      py36_6  
python.app                2                        py36_9  
pytz                      2018.9                   py36_0  
pywavelets                1.0.1            py36h1d22016_0  
pyyaml                    3.13             py36h1de35cc_0  
pyzmq                     17.1.2           py36h1de35cc_0  
qt                        5.9.7                h468cd18_1  
qtawesome                 0.5.6                      py_0  
qtconsole                 4.4.3                    py36_0  
qtpy                      1.6.0                      py_0  
readline                  7.0                  h1de35cc_5  
requests                  2.21.0                   py36_0  
rope                      0.11.0                   py36_0  
ruamel_yaml               0.15.46          py36h1de35cc_0  
scikit-image              0.14.1           py36h0a44026_0  
scikit-learn              0.20.2           py36h27c97d8_0  
scipy                     1.2.0            py36h1410ff5_0  
seaborn                   0.9.0                    py36_0  
send2trash                1.5.0                    py36_0  
setuptools                40.7.3                   py36_0  
simplegeneric             0.8.1                    py36_2  
singledispatch            3.4.0.3          py36hf20db9d_0  
sip                       4.19.8           py36h0a44026_0  
six                       1.12.0                   py36_0  
snappy                    1.1.7                he62c110_3  
snowballstemmer           1.2.1            py36h6c7b616_0  
sortedcollections         1.1.2                    py36_0  
sortedcontainers          2.1.0                    py36_0  
soupsieve                 1.7.1                    py36_0  
sphinx                    1.8.4                    py36_0  
sphinxcontrib             1.0                      py36_1  
sphinxcontrib-websupport  1.1.0                    py36_1  
spyder                    3.3.2                    py36_0  
spyder-kernels            0.3.0                    py36_0  
sqlalchemy                1.2.17           py36h1de35cc_0  
sqlite                    3.26.0               ha441bb4_0  
statsmodels               0.9.0            py36h1d22016_0  
sympy                     1.3                      py36_0  
tblib                     1.3.2            py36hda67792_0  
terminado                 0.8.1                    py36_1  
testpath                  0.4.2                    py36_0  
tk                        8.6.8                ha441bb4_0  
toolz                     0.9.0                    py36_0  
tornado                   5.1.1            py36h1de35cc_0  
tqdm                      4.29.1                     py_0  
traitlets                 4.3.2            py36h65bd3ce_0  
typed-ast                 1.1.0            py36h1de35cc_0  
unicodecsv                0.14.1           py36he531d66_0  
unixodbc                  2.3.7                h1de35cc_0  
urllib3                   1.24.1                   py36_0  
wcwidth                   0.1.7            py36h8c6ec74_0  
webencodings              0.5.1                    py36_1  
werkzeug                  0.14.1                   py36_0  
wheel                     0.32.3                   py36_0  
widgetsnbextension        3.4.2                    py36_0  
wrapt                     1.11.0           py36h1de35cc_0  
wurlitzer                 1.0.2                    py36_0  
xlrd                      1.2.0                    py36_0  
xlsxwriter                1.1.2                    py36_0  
xlwings                   0.15.2                   py36_0  
xlwt                      1.2.0            py36h5ad1178_0  
xz                        5.2.4                h1de35cc_4  
yaml                      0.1.7                hc338f04_2  
zeromq                    4.2.5                h0a44026_1  
zict                      0.1.3                    py36_0  
zlib                      1.2.11               h1de35cc_3  
zstd                      1.3.7                h5bba6e5_0 

I have a base environment set-up using Anaconda which has my standard libraries (please see details above). Help and Code Autocomplete functions work perfectly fine here.

# Name                    Version                   Build  Channel
_tflow_select             2.3.0                       mkl  
absl-py                   0.7.0                    py36_0  
appnope                   0.1.0            py36hf537a9a_0  
astor                     0.7.1                    py36_0  
backcall                  0.1.0                    py36_0  
blas                      1.0                    openblas  
c-ares                    1.15.0               h1de35cc_1  
ca-certificates           2019.1.23                     0  
cctools                   895                           1  
certifi                   2018.11.29               py36_0  
cffi                      1.11.5           py36h6174b99_1  
clang                     4.0.1                         1  
clang_osx-64              4.0.1               h1ce6c1d_11  
clangxx                   4.0.1                         1  
clangxx_osx-64            4.0.1               h22b1bf0_11  
cloudpickle               0.7.0                      py_0  
compiler-rt               4.0.1                hcfea43d_1  
cycler                    0.10.0           py36hfc81398_0  
decorator                 4.3.2                    py36_0  
freetype                  2.9.1                hb4e5f40_0  
gast                      0.2.2                    py36_0  
grpcio                    1.16.1           py36h044775b_1  
h5py                      2.9.0            py36h3134771_0  
hdf5                      1.10.4               hfa1e0ec_0  
intel-openmp              2019.1                      144  
ipykernel                 5.1.0            py36h39e3cac_0  
ipython                   7.2.0            py36h39e3cac_0  
ipython_genutils          0.2.0            py36h241746c_0  
jedi                      0.13.2                   py36_0  
jpeg                      9b                   he5867d9_2  
jupyter_client            5.2.4                    py36_0  
jupyter_core              4.4.0                    py36_0  
keras                     2.2.4                         0  
keras-applications        1.0.6                    py36_0  
keras-base                2.2.4                    py36_0  
keras-preprocessing       1.0.5                    py36_0  
kiwisolver                1.0.1            py36h0a44026_0  
ld64                      274.2                         1  
libcxx                    4.0.1                hcfea43d_1  
libcxxabi                 4.0.1                hcfea43d_1  
libedit                   3.1.20181209         hb402a30_0  
libffi                    3.2.1                h475c297_4  
libgfortran               3.0.1                h93005f0_2  
libopenblas               0.3.3                hdc02c5d_3  
libpng                    1.6.36               ha441bb4_0  
libprotobuf               3.6.1                hd9629dc_0  
libsodium                 1.0.16               h3efe00b_0  
libtiff                   4.0.10               hcb84e12_2  
llvm                      4.0.1                         1  
llvm-lto-tapi             4.0.1                         1  
markdown                  3.0.1                    py36_0  
matplotlib                3.0.2            py36h54f8f79_0  
mkl                       2018.0.3                      1  
mkl-service               1.1.2            py36h6b9c3cc_4  
mkl_fft                   1.0.1            py36h917ab60_0  
mkl_random                1.0.1            py36h78cc56f_0  
ncurses                   6.1                  h0a44026_1  
ninja                     1.8.2            py36h04f5b5a_1  
nomkl                     3.0                           0  
numpy                     1.15.4           py36h926163e_0  
numpy-base                1.15.4           py36ha711998_0  
olefile                   0.46                     py36_0  
openssl                   1.1.1a               h1de35cc_0  
pandas                    0.24.1           py36h0a44026_0  
parso                     0.3.2                    py36_0  
pexpect                   4.6.0                    py36_0  
pickleshare               0.7.5                    py36_0  
pillow                    5.4.1            py36hb68e598_0  
pip                       19.0.1                   py36_0  
prompt_toolkit            2.0.8                      py_0  
protobuf                  3.6.1            py36h0a44026_0  
ptyprocess                0.6.0                    py36_0  
pycparser                 2.19                     py36_0  
pygments                  2.3.1                    py36_0  
pyparsing                 2.3.1                    py36_0  
python                    3.6.8                haf84260_0  
python-dateutil           2.7.5                    py36_0  
pytorch                   1.0.1                   py3.6_2    pytorch
pytz                      2018.9                   py36_0  
pyyaml                    3.13             py36h1de35cc_0  
pyzmq                     17.1.2           py36h0a44026_2  
readline                  7.0                  h1de35cc_5  
scikit-learn              0.20.2           py36hebd9d1a_0  
scipy                     1.2.0            py36h1a1e112_0  
setuptools                40.7.3                   py36_0  
six                       1.12.0                   py36_0  
spyder-kernels            0.4.2                    py36_0  
sqlite                    3.26.0               ha441bb4_0  
tensorboard               1.12.2           py36haf313ee_0  
tensorflow                1.12.0          mkl_py36h2b2bbaf_0  
tensorflow-base           1.12.0          mkl_py36h70e0e9a_0  
termcolor                 1.1.0                    py36_1  
theano                    1.0.3            py36h04f5b5a_0  
tk                        8.6.8                ha441bb4_0  
tornado                   5.1.1            py36h1de35cc_0  
traitlets                 4.3.2            py36h65bd3ce_0  
wcwidth                   0.1.7            py36h8c6ec74_0  
werkzeug                  0.14.1                   py36_0  
wheel                     0.32.3                   py36_0  
wurlitzer                 1.0.2                    py36_0  
xz                        5.2.4                h1de35cc_4  
yaml                      0.1.7                hc338f04_2  
zeromq                    4.3.1                h0a44026_3  
zlib                      1.2.11               h1de35cc_3  
zstd                      1.3.7                h5bba6e5_0 
However, in my (deeplearning) environment (above), where I installed Keras, Tensorflow, Theano, for some reason Help and Code Autocomplete does not work.

I'm using Spyder 3.3.2 (and have use Conda for all installations). Any help (no pun intended) will be really appreciated!

@CAM-Gerlach
Copy link
Member

My help and autocomplete does not work but only for the Keras library.

For many functions in some packages, like keras and pandas that are just wrappers to C++ extension modules, the jedi library that Spyder uses to get docstrings may not be able to retrieve them. Unfortunately, this is a fundamental limitation of the design of the specific packages themselves, and thus there isn't much Spyder can do about this. Try triggering help from the Console instead (after first importing the package of interest).

@DiegoF90
Copy link

So it looks like the issue is fixed by updating to the most recent version through conda. Very sadly, due to my company policies, I am unable to update using this but only through packages found in a trusted repo and using pip install. Naively, I updated Spyder using 'pip' which ended up breaking my whole configuration.
Is it possible to get a list of python packages and their version such that they are compatible with Spyder and do not produce the issue above? or alternatively, a list of packages and their version such that it is known that they break spyder?

@mingwandroid
Copy link

I am unable to update using this but only through packages found in a trusted repo and using pip install

I hope the massive irony of 'trusted repo' and 'pip install' has not escaped you?

@ccordoba12
Copy link
Member

@DiegoF90, that list is in our Readme for our main dependencies:

https://github.com/spyder-ide/spyder/blob/3.x/README.md

However, each of these packages brings their own dependencies. So, in total, Spyder depends on ~90 packages (last time I checked).

@CAM-Gerlach
Copy link
Member

CAM-Gerlach commented Feb 12, 2019

Needless to say, your company requiring pip over authoritative, curated conda channels for "security" is moronic to the point of lunacy.

Is it possible to get a list of python packages and their version such that they are compatible with Spyder and do not produce the issue above?

As @ccordoba12 implies above, the issue is not with Spyder not being compatible with its direct dependencies (principally jedi in this case) but rather those dependencies not being fully compatible with the matrix of their (and other packages') dependencies (and of course, that's what makes this issue so tricky to solve for us and for users and one we hope the comprehensive overhaul of the completion infrastructure in Spyder 4 will help alleviate. As any issue with dependency specifications thus would need to be resolved by those packages, not Spyder, there isn't much we can directly do about it.

This is why we recommend you generally stick to the versions that are pinned to each version of distributions like Anaconda, that are tested together for full functionality, and only update spyder and very specific packages that you need need a particular bug fix or new feature beyond that.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests