emc*_*cek 6 python pip pyyaml python-sphinx qtpy
一些包是使用与 PyPI 上包的名称不同的字符串导入的,例如:
$ pip list | grep -i "yaml\|qt"
PyYAML 3.13
QtPy 1.5.2
Run Code Online (Sandbox Code Playgroud)
一些工具无法处理,例如 sphinx:
$ make html
WARNING: autodoc: failed to import module 'wireshark' from module 'logcollector.plugins'; the following exception was raised:
No module named 'qtpy'
Run Code Online (Sandbox Code Playgroud)
我现在不记得了,但是对于扫描requirements.txt文件并打印yaml未安装包的警告的工具也是如此(但它是,它的名称是 pyyaml)。
作者选择在不同环境中使用不同名称的原因有多种:
propy3,它可以用作propy. 我想说这也是发生过的事情pillow。beautifulsoup4可作为进口bs4(+包停车位bs4)flask-restx包名称和导入名称已更改。正如Ziyad Edher在相关讨论中指出的那样,拼写错误是 PyPI 上的一个问题(来源)。如果您添加具有不同名称的包,这种情况的可能性就更大。
文档中的名称 vs“导入”包名称 vs pypi 包名称vs anaconda 包vs Debian:
因为这两个概念并没有真正的联系。
一种是包/模块名称的 Python 概念,另一种是包管理器概念。
看一个简单的zip打包命令:
zip -r MyCoolTool.zip tool.py
Run Code Online (Sandbox Code Playgroud)
该工具名为tool,它可能不是唯一的,如果您不知道它是 MyCoolTool,您就不知道tool它是什么。当我将其上传到某个地方时,我将其命名为MyCoolTool,因此您现在有一个更独特的名称,这可能更具描述性。
另一点是,一个 pip 包可能包含多个模块,而不仅仅是一个。PyYAML例如,yaml2xml除了yaml.
最后可以有多种实现。PyYAML听起来像是一个纯Python 实现。现在假设您需要一个非常快的解析器,那么您可以CYAML使用 C 后端进行编程,但名称相同的接口yaml。
| 归档时间: |
|
| 查看次数: |
1647 次 |
| 最近记录: |