来自R,我试图在python中绕着包系统。
我的问题(简而言之)是:管理外部图书馆导入的最佳做法是什么?
假设我有一个包(称之为pointless
)并具有以下目录结构。
pointless/
setup.py
...etc
pointless/
__init__.py
module1.py
module2.py
假设module1
和module2
都有标题:
from __future__ import division
import numpy as np
...
我的问题是,当我import pointless
时,np
和division
中的pointless.module1
和pointless.module2
双重打击。必须有更好的方法吗?
如果不清楚,请道歉。当我跑(ipython)时,它让我感到困惑:
>>> import pointless
>>> pointless.module1.<TAB>
pointless.module1.np
pointless.module.division
...
>>> pointless.module2.<TAB>
pointless.module1.np
pointless.module.division
...
我可以在两个模块中看到np
命名空间,这看起来很混乱而且有点过分。
有没有办法可以&#34; 集中&#34;我的外部库导入,所以我不会在每个模块中看到它们?或者我错过了什么?
答案 0 :(得分:1)
这与此问题有关:what happens when i import module twice in python。简而言之:如果您导入模块两次,它只加载一次,所以您的示例根本没有问题。