【发布时间】:2014-04-07 08:54:16
【问题描述】:
我已经用 pip 安装了很多库/模块/包,现在我无法区分哪些是 Python 标准库的原生库,哪些不是。当我的代码在我的机器上运行但在其他任何地方都不起作用时,这会导致问题。
如何检查我在代码中导入的模块/库/包是否来自 python stdlib?
假设检查是在具有所有外部库/模块/包的机器上完成的,否则我可以简单地在没有它们的另一台机器上执行 try-except 导入。
例如,我确信这些导入可以在我的机器上运行,但是当它在仅安装了普通 Python 的机器上时,它会中断:
from bs4 import BeautifulSoup
import nltk
import PIL
import gensim
【问题讨论】:
-
我猜你可以从这里开始:docs.python.org/2/library/index.html
-
使用 virtualenv。它是专门为避免这些问题而构建的。
-
这不是一个答案,但如果您关注PEP-0008,则更容易看出哪些
imports 是第三方 -
'native python' 通常指的是'pure python',例如不使用任何 C 或其他非 Python 语言扩展。相反,您是在谈论标准库与外部依赖项。
-
啊,@martijnpieters,感谢关于“本机 python”的说明。 =)
标签: python module package native