Python模块导入分析工具
项目描述
FindImports
FindImports通过解析源文件提取Python模块依赖关系。它可以报告导入但未使用的名称,并可以生成ASCII或graphviz格式的模块导入图。
findimports的一个独特功能是它可以解析docstrings中的doctest代码。
请注意,并非所有情况都处理正确,特别是如果您使用‘import foo.bar.baz’。
如果您需要查找代码库中的未使用导入,我建议使用Pyflakes代替——它维护得更好,更可靠。对于导入图,请考虑使用pydeps。
其他
主页: https://github.com/mgedmin/findimports
许可证: MIT (https://mit-license.org/)
变更
2.5.0 (2024-05-30)
2.4.0 (2024-02-01)
添加对Python 3.12的支持。
将许可证从GPL更改为MIT。请参阅问题27。
添加--package-externals/-pE以简化模块图。
将 --rmprefix PREFIX/-R PREFIX 添加到从显示名称中移除包前缀。
添加 --depth N/-D N 以忽略语法树中嵌套过深的导入语句(例如在函数或if语句中)。
2.3.0 (2022-10-27)
重写了命令行解析以使用 argparse。现在选择操作的选项(--imports/--dot/--names/--unused)现在相互冲突,而不是除了最后一个之外都被忽略。见 pull request #20。
添加对 Python 3.11 的支持。
停止支持 Python 3.6。
2.2.0 (2021-12-16)
添加对 Python 3.10 的支持。
添加 --ignore-stdlib 标志以忽略 Python 标准库中的模块。
2.1.0 (2021-05-16)
添加 --ignore 标志以忽略文件和目录,可以多次使用。见 pull request #14。
2.0.0 (2021-05-09)
添加对 Python 3.9 的支持。
停止支持 Python 3.5 和 2.7。
修复了一个问题,Python 文件的编码不是以与 Python 本身相同的方式确定的。见 issue 15。这需要使用 tokenize.open,它不在 Python 2.7 中。
1.5.2 (2019-10-31)
添加对 Python 3.8 的支持。
修复了一个问题,即具有可能成为另一个包/模块前缀的名称的包/模块可能会意外地被用于其他包/模块(例如,py 而不是 pylab)。见 issue 10。
1.5.1 (2019-04-23)
停止支持 Python 3.4。
1.5.0 (2019-03-18)
支持 Python 3.6 和 3.7。
停止支持 Python 2.6 和 3.3。
如果问题所在的行有注释,则抑制重复导入警告。
1.4.1 (2016-09-28)
将 getopt 替换为 optparse。这会改变 --help 消息(副作用 #4)。
1.4.0 (2015-06-04)
Python 3 支持(3.3 及以上版本)。
使用 ast 而不是 compiler(#1)。
1.3.2 (2015-04-13)
修复了在 Ubuntu 14.04 LTS 上“找不到 datetime”的问题(#3)。
100% 测试覆盖率。
1.3.1 (2014-04-16)
添加了对相对导入(例如,from .. import foo)的支持。
1.3.0 (2013-04-10)
迁移到 Github。
停止支持 Python 2.4 和 2.5。
使用 doctests 处理 Unicode 文档字符串。
1.2.14 (2012-02-12)
使用 sys.builtin_module_names 识别内置模块。修复了 https://bugs.launchpad.net/findimports/+bug/880989。
1.2.13 (2011-04-18)
抑制关于 sys.path 中列出的 *.egg-info 文件的“不是 zip 文件”警告。
1.2.12 (2011-04-08)
处理 sys.path 中存在非 zip 文件的 zipfile 错误。
1.2.11 (2011-03-30)
修复了 Python 2.6 及以上版本上的“找不到 cPickle”错误。
1.2.10 (2010-02-05)
忽略 from __future__ import …。
1.2.9 (2009-07-07)
通过添加 MANIFEST.in 修复了损坏且无法卸载的源发行版。
1.2.8 (2009-07-07)
能够找到 zip 文件(例如 eggs)内的模块。
修复了 Python 2.6 上的弃用警告。
项目详情
下载文件
下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源分发
构建分发
findimports-2.5.0.tar.gz的散列值
算法 | 散列摘要 | |
---|---|---|
SHA256 | c2d0705dc75fed68af32180225c95277d4f3d299d901e8f68873c28a6f073c33 |
|
MD5 | bf563e9d5800840bb4e566492e01bc3f |
|
BLAKE2b-256 | 2a5cf4e282d28ba070f9b3e273ae0d9b8e732e3c777c3aab0ea95a77f8fe0212 |
findimports-2.5.0-py2.py3-none-any.whl的散列值
算法 | 散列摘要 | |
---|---|---|
SHA256 | 70fb78b9284ea5ec99f6cf85bf8414ac823d1a46e47eab046e9700517f8761ad |
|
MD5 | be61e21780d1fb46e51010352b055fca |
|
BLAKE2b-256 | 0ec3551fc9514f5a04ab199e73f90fed97af04b4643df4b65f3e23e9b721e302 |