Я пытаюсь разработать пакет с учетом типа, следующий за 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 ? Что я могу сделать, чтобы исправить их?