-
-
Notifications
You must be signed in to change notification settings - Fork 1.6k
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
Comments
@dalthviz, please take a look at this one. Notice that the OP has Jedi 0.10.2 installed. |
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. |
got this too, downgraded to 0.9.0 from 0.10.0 and it came back. |
I got the same issue. Changing jedi version didn't work for me. |
could it be a timeout issue ? on a too slowed computer, jedi abort itself ? |
Is this only happening on Windows for you guys? |
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. When I tested spyder 3.1.3. A missing dependency error message showed as follows: 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. Hope these help! Some more information about my environment: Python 3.5.2 :: Anaconda custom (64-bit) jedi >=0.9.0 : 0.10.2 |
on my old pc, spyder3.2.0dev2017-05-11:
in the past, hot restart were quick, |
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. |
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
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. |
Packages for pip are also all up to date. |
For this to work you also need to downgrade IPython because it now depends on Jedi too. That's where the crash comes from. |
jedi >=0.8.1 : 0.9.0 (OK) 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 |
I run on ubuntu like this and it seems to work
|
@BjornFJohansson, what if you create a conda environment with Spyder, free of any conda-forge package? |
Ups, sorry @BjornFJohansson, it seems you don't have any problem. |
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! But it works now. O.o |
@FuZhiyu, I think that's because you updated Jedi and restarted Spyder after that. |
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) |
We don't know why this is happening. Our recommendation (for now) is to use Anaconda, which doesn't have this problem. |
I am running Anaconda on Mac Sierra. I am facing this issue. |
@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.
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.
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. |
@aisolution It's |
@endolith This is not really recommended, and updating one or more dependencies to a version not tested together in the 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 |
It's probably my fault for using conda-forge? I don't really understand how channels work. conda install spyder=3.3.1 says:
When I then run update all again, I get:
|
@endolith, please stop doing
|
No, it's not conda-forge. it's |
Here's a thought....remove conda update --all option ???? Just sayin'
On Oct 7, 2018 8:04 PM, "Carlos Cordoba" <[email protected]> wrote:
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.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#4410 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AjuRbFHhE5viITm8IZhUpdn5mC0OR5V2ks5uisDYgaJpZM4NJ7jo>
.
…--
This email and its contents are confidential. If you are not the
intended
recipient, please do not disclose or use the information within
this email
or its attachments. If you have received this email in
error, please
report the error to the sender by return email and
delete this
communication from your records.
|
@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.
@BRdubW First of all, that's of course part of |
@BRdubW, yeah, that'd be great! Pip stop forcing it on its users since its 10 version, and that's a blessing. |
Well I didn't do it until this thread told me to. :D |
I generally update using
conda update --all.
Will this create problem (breaking depedencies) ?
If yes, how to update conda?
Regards
…On 8 Oct 2018 8:34 am, "Carlos Cordoba" ***@***.***> wrote:
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.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<#4410 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AOhVGaaP7iB4zidDeTQaoOLrPw01Gv4bks5uisDYgaJpZM4NJ7jo>
.
|
@partha1968, simply update the packages that you an update for: |
@partha1968 Yes, that's exactly what has happened here and what @ccordoba12 and myself are saying.
Taking your question less literally, if you want to update everything, you can update the |
That doesn't seem to work for me:
That's what I had been doing |
It's |
@endolith Also, for the record, the canonical |
Ok, well I still have the Ctrl+I → "No documentation available" problem after following those directions. Works from command line but not from editor.
|
@endolith Did you try autocompletion as well from the Editor? Sometimes Spyder's third-party completion libraries |
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. |
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
to help us isolate that. Also, make sure you don't have 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,
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.
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 |
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:
|
Generally, the reserved words (like
Please stick with Anaconda; its the best way to reduce the changes of dependency problems like this and avoid a botched installation.
FYI, triple backticks on their own line above and below will create a multi-line code block. I fixed your post above to demonstrate. |
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. |
@Jimmeee Yes, |
Hi all, I have a similar problem. My help and autocomplete does not work but only for the Keras library.
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.
I'm using Spyder 3.3.2 (and have use Conda for all installations). Any help (no pun intended) will be really appreciated! |
For many functions in some packages, like |
So it looks like the issue is fixed by updating to the most recent version through |
I hope the massive irony of 'trusted repo' and ' |
@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). |
Needless to say, your company requiring
As @ccordoba12 implies above, the issue is not with Spyder not being compatible with its direct dependencies (principally 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 |
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
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)
The text was updated successfully, but these errors were encountered: