-
Notifications
You must be signed in to change notification settings - Fork 89
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
[question] There's something wrong with jedi:install-server #343
Comments
That is interesting, let me try to reproduce it and get back to you. In the meanwhile, obligatory question: could you please check that you are using the latest version of |
@immerrr I thinks I know what's happening |
Yep, that's true, the stable distribution hasn't been updated in a while, so that could be the reason. |
Sill though the melpa one gives me deferred error, the only way I could make ti work was to modify the melpa-stable one in the lines I mentioned above |
That is interesting... |
|
I confirm that |
Not sure.. FWIW jedi (the python package) has been slow for me for a couple releases now, it is very noticeable for example in IPython input prompt. |
I understand your frustration, "bit rot" has not been gentle to jedi-core's stable release, and neither have I. I'll see if I can bump the stable release shortly. (#336 is a related issue) |
Maybe worth reporting as bug to jedi? |
You could try installing typeshed, which is a set of stubs for popular libraries out there. Type stubs reduce the amount of work Jedi has to do when deducing the correct types. But in general, I don't see an open-source alternative in Python world. Oh, for Emacs itself, you could try |
Could work. It would help if you had a clear-cut completion example that did not require emacs or emacs-jedi, there's an example in Jedi docs on how to invoke completion from Python code, that would help narrowing down the scope of the sluggishness: https://jedi.readthedocs.io/en/latest/docs/api.html >>> import jedi
>>> source = '''
... import json
... json.lo'''
>>> script = jedi.Script(source, 3, len('json.lo'), 'example.py')
>>> script
<Script: 'example.py' ...>
>>> completions = script.completions() |
Thanks for the ycmd pointer! Have you tried it yet?
What are they using? Did they build their own or using something open-source? |
Nop, I'm on a "dogfooding" diet :)
I mean, if you have a specific example that takes very long to complete, you could prepare a script for it: take If not, the issue could be with the jediepcserver. You could try enabling logging for the server, btw, if you haven't done it already. I have the following config:
The log, although quite verbose, contains timestamps and could lead to some insights as to what is causing the slowness. |
@immerrr Is this helpful?
|
Looks like a problem in the
The string I sent you contained a comma which is a special syntax for evaluation inside backquotes and looks like it did not expand well. |
Can I set it as quoted |
Yes, a quoted list of strings |
@immerrr This is what I have in my config I remove elpa, .python_environments and all *.elc fire up emacs, installs packages I use pyvenv and activate the environment which contains python jedi, epc, parso then The
Now what's wrong with this, I don't know? |
In your server arguments
instead of
it should be
which is what jediepcserver is trying to tell by saying
|
Oh crap I missed that, I was reading on half of the buffer on my 13' screen. |
Those are scary stacktraces, but they are mostly related to the known assertion errors raised while fetching docstrings:
Note that they are marked as |
In the meantime you can get rid of the especially annoying timeouts by increasing (setq-local company-async-timeout 10) |
I'm using company and company-jedi. What I've noticed is that whenever I run
jedi:install-server
for some reason it brings a deprecated version ofjediepcserver.py
file where the deferred error of function signatures is still apparent. I've checked the master branch here and thejediepcserver.py
has been corrected not to have those errors but still for some reason which I cannot explain the commandjedi:install-server
brings an old deprecated version ofjediepcserver.py
can someone have a look at?I've also made
emacs-company-jedi
aware of this issue but I think the problem might lie here since in my understandingjedi:install-server
brings or at least should bring the files of this repo but for some reasonjediepcserver.py
is outdated or deprecated with the deferred function signature errors still there in the file.Here's my config info:
jedi:show-version-info
Here's the proof, this is
jediepcserver.py
just after executingjedi:install-server
As you can see the
jedi.api.defined_names
should have beenjedi.api.names
instead.Why is this happening, any ideas?
The text was updated successfully, but these errors were encountered: