我有一个程序在从Eclipse运行时工作正常但在尝试从命令行运行时失败。
根目录中有许多模块。
|_ Package
|
|_ module_1
|_ __init__.py
|_ config.py
|
|_ module_2
|_ __init__.py
|_ some_file.py
|
|_ module_3
|_ __init__.py
|_ some_other_file.py
|
|_ module_4
|_ __init__.py
|_ main.py
我的主要方法是module_4.main.main()
,在module_4.main.py
的顶部我进行了导入:
from module_1 import config
from module_2 import some_file
from module_3 import some_other_file
当我从命令行和python -m module_4.main
目录运行Package
时,我得到:ImportError: No module named module_3
在第三行,但上一行的模块导入正常。
但是,如果我从Eclipse内部运行它,它可以正常工作并找到包没有问题。
两个问题:
什么可以解释这种行为?
如何进行调试?