某些包是使用与 PyPI 上的包名称不同的字符串导入的,例如:
$ pip list | grep -i "yaml\|qt"
PyYAML 3.13
QtPy 1.5.2
- pyyaml(pip 安装 pyyaml),但导入 yaml
- qtpy(pip install qtpy),是导入是 qtpy 但包是 QtPy
有几个工具不能处理这个问题,例如 sphinx:
$ make html
WARNING: autodoc: failed to import module 'wireshark' from module 'logcollector.plugins'; the following exception was raised:
No module named 'qtpy'
我现在不记得了,但扫描文件并打印未安装包的requirements.txt
警告的工具也是如此(但它是并且它的名称是 pyyaml)。yaml