davidhalter / jedi

Awesome autocompletion, static analysis and refactoring library for python
http://jedi.readthedocs.io
Other
5.78k stars 508 forks source link

jedi automatic completion missing #2007

Closed hqh2010 closed 3 months ago

hqh2010 commented 3 months ago

Hi, I encountered a problem while using the Jedi automatic completion function. I have a wheel package. 'set_io' is a method in package. The source code is packaged with so using Cython tools and installed in a Python environment. In this case, jedi is unable to automatically complete the parameter information of the function. May I ask if Jedi supports this usage scenario?(it works well in pycharm) code: q1

The code run results are as follows: q2

q3

hqh2010 commented 3 months ago

The ".pyi" file is stored in the same level directory as the so file.

davidhalter commented 3 months ago

Can you show me the pyi file?

davidhalter commented 3 months ago

And next time please don't post screenshots of texts. It is way better to have this in a way so I can copy it.

hqh2010 commented 3 months ago

Can you show me the pyi file? Tks you for your reply.

class Device:
    def __init__(self) -> None: ...
    def set_io(self, input: str, parameters: dict, current_output: str, dataset_out: str, output: str, log_out: str) -> None: ...

My wheel package is on the bastion machine,so I can't upload the wheel package to github directly. I confirm that the 'pyi file' can be recognized by pycharm. the structure of wheel package are as follows: esimkit |--edevice.cpython-39-x86_64-linux-gnu.so |--edevice.pyi | ...

davidhalter commented 3 months ago

If I have no way to reproduce your problem you have to either help me or we can close the issue as well. It's pretty much impossible for me to debug this now.

hqh2010 commented 3 months ago

If I have no way to reproduce your problem you have to either help me or we can close the issue as well. It's pretty much impossible for me to debug this now.

the wheel package and the source code 'test.py' are in the package, you can debug it. Tks a lot

esimkit.zip

davidhalter commented 3 months ago

Can you provide me with a minimally reproducible example? It doesn't feel like I'm ever going to look into this otherwise.

hqh2010 commented 3 months ago

Can you provide me with a minimally reproducible example? It doesn't feel like I'm ever going to look into this otherwise.

Actually, you only need to do two steps: Install the wheel package in 'build/dist', and then debug 'test.py'.

There may be version compatibility issues when installing the wheel package, so in case of incompatibility, you need to compile the wheel package yourself and install it. All operation steps are in README.md

davidhalter commented 3 months ago

I don't think you understand, because you might be new to this:

It is not my job to do your work. You have to convince me that this is really a bug. And to do that you typically have to invest an hour or so to write up a good issue that is as small as possible. This is what I do and this is what all experienced devs to when they report issues. What you do is to throw a bunch of code at me and say "it doesn't work". That is not very helpful.

I'm going to close this issue for now until you provide me with a better reproduction. I'm happy to reopen if there's a minimal reproducible example.