Open utterances-bot opened 3 months ago
好奇對第三方套件怎麼正確引用 type hint? 因為不是所有第三方套件都有型別註釋或者附帶 py.typed 寫個 .pyi 好像又很麻煩,到現在依然不熟如何正確使用 .pyi
@gbaian10 如果沒有專用的 stubs 套件,而 typeshed 也沒有收錄,那就算了XD
預設的 Mypy 其實非常寬容
,但我已經不記得預設 mypy 到底長怎樣了XDD,只記得一開始用的時候直接給他 strict = true 開下去,然後第一次檢查大概就噴兩三百個警告,真的是不是從一開始就用,後續要導入很困難。
不過還是很好奇大家平常怎設定 mypy 的限制,我是比較像 fastapi 的作法,strict = true 開下去然後把問題一一解掉,真的覺得要解掉的成本太高才會開始個別 overrides mypy 設定
最想知道的大概還是這兩個會不會開
no_site_packages = true
ignore_missing_imports = true
no_site_packages 一開下去,mypy 就會運行超~級~久,因為要檢查所有第三方庫,然後第三方庫沒寫 type hint 且又沒提供其他包解的話我才單獨 exclude 這些包不檢查。但儘管這些問題都解決了,最麻煩的感覺還是在 pre-commit 和 CI 上還要額外安裝其他正常的包 mypy 才能繼續正常檢查。
Python type checker:Mypy 介紹 - Code and Me
本文從歷史發展、工作原理與整體輪廓上介紹 Mypy 的特色。更了解 Mypy,可能讓你對 Python 的型別檢查產生不同的看法。
https://blog.kyomind.tw/mypy/