我正在运行Python 2.5.
这是我的文件夹树:
ptdraft/
  nib.py
  simulations/
    life/
      life.py
(我也在__init__.py每个文件夹中,为了便于阅读,这里省略了)
如何nib从模块内导入life模块?我希望有可能不用修补sys.path.
注意:正在运行的主模块位于该ptdraft文件夹中.
我不清楚如何正确地命名这个问题.
情况1
假设我有以下目录结构.
foo
|
+- bar/__init__.py
|
+- bar.py
如果我有
from foo import bar
我如何知道导入哪个栏(bar.py或bar/__init__.py)?有没有简单的方法来自动检测这种情况?
案例2
foo
|
+- foo.py
|
+- other.py
如果other.py有这条线
import foo
我怎么知道导入哪个foo(foo或foo.foo)?再一次,是否有任何简单的方法来自动检测这种情况?
我有两个python文件 -  my_python_A.py和my_python_B.py.第一个文件引用第二个(from my_python_B import *).
我正在Oozie中的shell动作执行第一个python文件(即脚本很简单python my_python_A.py),并且收到以下错误:
Traceback (most recent call last):
  File "my_python_A.py", line 2, in <module>
    from my_python_B import *
ImportError: No module named my_python_B
Failing Oozie Launcher, Main class [org.apache.oozie.action.hadoop.ShellMain], exit code [1]
两个python文件都位于HDFS中的同一目录下.如何才能使此import语句生效?