python包最佳实践:管理导入

时间:2016-06-11 19:00:30

标签: python pypi python-packaging

来自R,我试图在python中绕着包系统。

我的问题(简而言之)是:管理外部图书馆导入的最佳做法是什么?

假设我有一个包(称之为pointless)并具有以下目录结构。

pointless/
    setup.py
    ...etc
    pointless/
        __init__.py
        module1.py
        module2.py

假设module1module2都有标题:

from __future__ import division
import numpy as np
...

我的问题是,当我import pointless时,npdivision中的pointless.module1pointless.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;我的外部库导入,所以我不会在每个模块中看到它们?或者我错过了什么?

1 个答案:

答案 0 :(得分:1)

这与此问题有关:what happens when i import module twice in python。简而言之:如果您导入模块两次,它只加载一次,所以您的示例根本没有问题。