Python:为什么不加载这个子模块?

时间:2014-09-25 17:14:42

标签: python scikit-learn

我用pip(pip install -U scikit-learn)安装了scikit-learn。然后我去了ipython并运行import sklearn,但是如果我然后尝试加载任何模块,则找不到它们。特别是,sklearn的制表符完成似乎不正确:

In [2]: sklearn.
sklearn.base          sklearn.clone         sklearn.externals     sklearn.re            sklearn.setup_module  sklearn.sys           sklearn.test          sklearn.warnings 

知道这里发生了什么吗?其他模块加载正常。例如,numpy正常工作。

1 个答案:

答案 0 :(得分:4)

导入要明确使用的子模块:

import sklearn.<submodule>
print sklearn.<submodule>.function()

from sklearn.<submodule> import function
print function()

在大型python包中,通常需要显式导入子模块。这样,用户可以选择要导入的内容而无需导入整个包(这会对启动时间产生负面影响)。