【发布时间】:2016-10-12 13:24:28
【问题描述】:
来自 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 时,pointless.module1 和 pointless.module2 都会受到 np 和 division 的双重打击。一定有更好的方法吗?
编辑
抱歉,如果不清楚。当我运行(ipython)时,这让我很烦恼:
>>> import pointless
>>> pointless.module1.<TAB>
pointless.module1.np
pointless.module.division
...
>>> pointless.module2.<TAB>
pointless.module1.np
pointless.module.division
...
我可以在两个模块中看到 np 命名空间,这看起来很混乱而且有点矫枉过正。
有没有一种方法可以“集中”我的外部库导入,这样我就不会在每个模块中看到它们?还是我错过了什么?
【问题讨论】:
-
对不起,你明白了吗?
-
您要解决的问题是什么?
-
import 语句所做的只是将名称绑定到导入模块的命名空间。这只是实际加载它的模块的第一次导入。所以没有矫枉过正。
标签: python pypi python-packaging