[英]How to type-check usage of next() with groupby result using mypy?
[英]Type-check Jupyter Notebooks with mypy
我有一个项目包含一堆 Python 模块( .py
文件)和一堆 Jupyter Notebooks ( .ipynb
文件),它们从 Python 模块导入东西。
我可以(假设我在所有子文件夹中都有__init__.py
文件)只需运行mypy.
即可对所有.py
文件进行类型检查。 从项目的根目录。 但我还希望能够对我的 Jupyter Notebooks 进行类型检查。
一个理想的解决方案是:
.py
模块的导入,就像.py
文件中的导入一样,.py
文件中的错误打印行号。我怎样才能做到这一点?
你可以使用nbQA并做
pip install -U nbqa
nbqa mypy your_notebook.ipynb
您可以:将所有笔记本转换为 python,然后在其上运行 mypy( 如何通过命令行将 IPython 笔记本转换为 Python 文件? )。
jupyter nbconvert --to script [YOUR_NOTEBOOK].ipynb
只需编写一个小脚本来执行此操作就可以了:)
为此,我使用Jupytext和我的 IDE。
我以 py:percent 格式导出副本,将其链接到笔记本。 我在 jupyter 实验室环境中进行开发,但.py
文件是 git 存储库中的文件。 在提交之前,我通过通常的 linter、 black
、 pydocstyle
、 mypy
运行它(使用严格的配置)。 然后我在 Jupyter 实验室重新加载笔记本,重新启动 kernel 并“全部运行”以确保结果仍然正常,然后才将文件提交到存储库
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.