3 个不稳定版本
0.2.0 | 2023年3月22日 |
---|---|
0.1.1 | 2023年2月24日 |
0.1.0 | 2023年2月24日 |
#2269 在 开发工具
44 每月下载量
18KB
347 代码行
marui - 在 Python 项目中查找循环导入。
在工作中,我使用的是一个相对较大的 Python 代码库。有时我会不小心在模块间添加循环依赖。这会导致经典的
ImportError: cannot import name 'A' from partially initialized module 'B'
marui 通过在您运行 CI 套件之前查找循环导入来缓解此问题。
用法
在 Python 项目(由存在 pyproject.toml
的文件来标识)中,只需运行
$ marui .
限制
在其当前版本(0.2.0
)中,marui
只能找到项目中使用完全限定路径导入的导入。例如,如果您有一个像这样的项目结构
.
├── pyproject.toml
├── my_package
│ ├── a
│ │ ├── __init__.py
│ │ └── b.py
│ └── c
│ ├── __init__.py
│ └── d.py
└── ...
b.py
可以将 d.py
导入为
import my_package.c.d
但不能这样导入
import c.d
这将在下一个版本中解决。
安装
如果您已克隆此仓库,请使用 cargo
构建 marui 并安装
$ gh repo clone jan-krecke/marui
$ cd marui
$ cargo install --path .
或者,直接从 crates.io
获取 marui
$ cargo install marui
反馈和贡献
如果您想使用这个工具并发现任何问题,请随意提交 PR 或 issue :-).
依赖
~3MB
~61K SLoC