1

我正在尝试开发一个类型感知包,遵循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 shell 中启动poetry shell

最初我使用了诗歌构建和诗歌发布命令,但遇到了这里描述的问题:诗歌问题#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 错误是预期的吗?我能做些什么来纠正它们?

4

0 回答 0