Частичная заглушка в PyCharm - PullRequest
1 голос
/ 14 марта 2019

Я бы хотел добавить частичную аннотацию к моему проекту. Например для перегрузки. Я обнаружил, что pep561 вводит частичную поддержку заглушек файлов.

Я разрабатываю свой проект с помощью PyCharm и добавляю соответствующий файл *.pyi. И получил ожидаемую информацию, но PyCharm сообщает, что не может найти ссылку в файле Pyi.

Можно ли заставить PyCharm просматривать оригинальный py-файл, если в pyi-файле нет записи? Или возможно это также выполнимо с частичной записью для класса?

Я создаю пример проекта, чтобы показать проблему (оригинал большой): cannot find reference 'CC' in '__init__.pyi'

├── main.py
└── pep561_test
    ├── __init__.py
    └── __init__.pyi

main.py

from pep561_test import AA, BB, CC

AA().test1(1)
AA().test1(True)
AA().test1('a')
AA().test2(1)

BB().test1(1)
BB().test2(1)

__ __ INIT. Ру

class AA:
    def test1(self, a):
        pass

    def test2(self, a):
        pass


class BB:
    def test1(self, a):
        pass

    def test2(self, a):
        pass


class CC:
    def test1(self, a):
        pass

    def test2(self, a):
        pass

__ __ INIT. Pyi

class AA:
    def test1(self, a: int) -> int: ...

    def test1(self, a: bool) -> str: ...

    def test2(self, a):
        pass


class BB:
    def test1(self, a):
        pass
...