防止导入包中导入的包

时间:2016-05-11 21:57:34

标签: python import module package git-submodules

我知道标题有点令人困惑,所以我做了一个示例包,说明了我的意思。包结构是:

pkg/
    __init__.py
    test.py

init .py:

from test import func

在test.py中:

import numpy as np

def func(x):
    return np.asarray(x)

然后,当我导入我的包时,pkg.func()完全按预期工作

>>> import pkg
>>> x=[1,2,3]
>>> pkg.func(x)
array([1,2,3])

但是,numpy也作为pkg.test.np导入,即使它没有在 init .py文件中指定!

>>> pkg.test.np
<module 'numpy' from '/Applications/Anaconda....'>
>>> pkg.test.np.array([1,2,3])
array([1,2,3])
这是一件好事吗?有必要吗?我不喜欢它,因为它给我的包增加了不必要的混乱。有没有办法阻止它?

由于

0 个答案:

没有答案