Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

Unable to goto definitions in __init__.py

Aberta
#487 0 comentários 0 reações 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
3/5
Tempo estimado
1-2 dias
Facilidade para iniciantes
35/100
Tipo de issue
Bug
Clareza
Razoavelmente clara
Status de atividade
Estagnada
Stack de tecnologia
javascript, python

Direção de pesquisa

Reproduza o problema com foo/init.py, foo/bar.py e foo/baz.py e, em seguida, compare o comportamento de ir para a definição do Atom com as chamadas mostradas de jedi.Script.goto. Comece pelo ponto de entrada da integração que trata das definições para imports do Python. Considera-se concluído quando selecionar test em foo/bar.py abre foo/init.py, enquanto test2 continua abrindo foo/baz.py.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

Here is my reproduction project:

fjompo@grande repro$ find .
.
./foo
./foo/__init__.py
./foo/bar.py
./foo/baz.py

fjompo@grande repro$ cat foo/__init__.py 
test = 5

fjompo@grande repro$ cat foo/bar.py 
from . import test
from .baz import test2
print(test)
print(test2)

fjompo@grande repro$ cat foo/baz.py 
test2 = 42

fjompo@grande repro$ python -m foo.bar
5
42

If i go to foo/bar.py and highlight test2, then go-to-definition works, but for test it does not. It simply yields "Sorry, no definitions found."

This is likely not an issue with jedi, as shown here:

>>> import jedi
>>> jedi.Script(None, path="foo/bar.py").goto(line=3, column=7, follow_imports=True)[0].module_path
PosixPath('/home/fjompo/tmp/repro/foo/__init__.py')
>>> jedi.Script(None, path="foo/bar.py").goto(line=4, column=7, follow_imports=True)[0].module_path
PosixPath('/home/fjompo/tmp/repro/foo/baz.py')

Here are the project files: repro.zip

Linguagem predominante
JavaScript
Estrelas
238
Forks
41
Métricas de merge de PRs
Nenhum PR com merge em 30d

Guia de contribuição

Abrir o guia de contribuição

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de atom-community/ide-python

Todas as issues de atom-community/ide-python

Issues semelhantes

Mais issues de JavaScript

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.