确定给定的Python模块是否是标准库的一部分

2024-09-19 23:42:49 发布

您现在位置:Python中文网/ 问答频道 /正文

Python库是不是一个标准的模块我怎么确定? 换句话说:有没有一个Python等价于perl的corelist实用程序?在

我会用它来设定我对开发过程中可移植性的期望。 如果它依赖于实现,我对CPython感兴趣。在

到目前为止,我找到的最好答案是:

Which parts of the python standard library are guaranteed to be available?

即在python标准库文档的索引页上搜索模块名:http://docs.python.org/2/library/。但是,这比使用实用程序更不方便,而且也没有告诉我关于最低要求版本的任何信息。在


Tags: 模块of答案实用程序which标准过程library
2条回答

当使用setuptools安装脚本(setup.py)时,您需要测试所需模块的测试,并根据需要更新安装依赖项列表以添加后台端口。在

例如,假设您需要collections.OrderedDict类。文档指出它是在Python2.7中添加的,但是在Python2.4及更高版本上使用的backport is available。在setup.py中,测试collections中是否存在该类。如果导入失败,请将backport添加到您的需求列表中:

from setuptools import setup

install_requires = []

try:
    from collections import OrderedDict
except ImportError:
    install_requires.append('ordereddict')

setup(
    # ...
    install_requires=install_requires
)

然后在需要OrderedDict的代码中使用相同的测试:

^{pr2}$

并依赖pip或{}或{}或其他安装工具为您获取额外的库。在

许多最近添加的核心库都有可用的backport,包括json(称为simplejson)、argparsesqlite3(使用pysqlite作为后备的from pysqlite2 import dbapi as sqlite3包)。在

您仍然需要阅读文档;Python文档非常优秀,对于新的模块、类、方法、函数或参数,文档都明确提到了它们是在哪个Python版本中添加的。在

您应该阅读该模块的文档。你说你需要一个实用程序,因为阅读文档不方便。但你在用模块编码?不管怎样,你应该花点时间来阅读这个案例中的文档,除非你只是把你在网上找到的神秘片段粘在一起,制造出一个弗兰肯斯坦怪兽。在

你不需要使用几十个模块,你可以花点时间阅读文档。而且,一般来说,文档确实提到了Python引入了什么版本。在

文件是好的:使用它们。在

相关问题 更多 >