mypy "Импорт 'owclient' игнорируется" - PullRequest
1 голос
/ 29 апреля 2020

Я пытаюсь разработать пакет с учетом типа, следующий за PEP-561 .

Я хочу, чтобы третий проект использовал подсказки типа. Я использую поэзию для управления зависимостями в обоих пакетах и ​​mypy для проверки типов.

Второй проект просто импортирует пакет. Он предназначен только как цель для запуска команды mypy.

Но когда я запускаю mypy test-owclient.py --follow-imports=error в любом из зависимых проектов, я получаю следующую ошибку:

test-owclient.py:1: error: Import of 'owclient' ignored
test-owclient.py:1: note: (Using --follow-imports=error, module not passed on command line)
Found 1 error in 1 file (checked 1 source file)

Команда mypy запускается в оболочке virtualenv, которую я запускаю с poetry shell.

Изначально я использовал команды поэзии build и поэзии publi sh, но застрял с проблемой, описанной здесь: проблема поэзии # 1338

Затем я попытался с помощью setuptools, сгенерировал свой собственный файл setup.py, основанный на сгенерированном поэзией, со следующим содержимым.

# -*- coding: utf-8 -*-
# type: ignore
from setuptools import setup

with open("README.rst", "r") as fh:
    long_description = fh.read()

packages = ['owclient', 'owclient.devices', 'owclient.exc']

package_data = {
    'owclient': ['py.typed'],
    'owclient.devices': ['py.typed'],
    'owclient.exc': ['py.typed'],
    '*': ['pyproject.toml']
}

install_requires = ['pyownet>=0.10.0,<0.11.0']
setup(
    name='owclient',
    version='0.1.8',
    description=(
        'A light layer to use OWFS and pyownet with a more OOP approach.'),
    long_description=long_description,
    long_description_content_type='text/x-rst',
    author='Ferran Comabella',
    author_email='ferran@gmail.com',
    maintainer=None,
    maintainer_email=None,
    url='https://gitlab.com/fcomabella/ow-client',
    packages=packages,
    package_data=package_data,
    install_requires=install_requires,
    python_requires='>=3.8,<4.0',
    zip_safe=False,
)

Но, когда я пытаюсь чтобы запустить mypy в проекте с пакетом, я получаю тот же результат.

Если я запускаю mypy owclient --follow-imports=error в пакете owclient, я не получаю ошибок.

Ожидаются ли эти ошибки mypy ? Что я могу сделать, чтобы исправить их?

...