我正在使用 python3、venv 和 c9.io PAAS 编写一个 Web 应用程序。我的代码结构如下:
batch_runner.py
logic/
__init__.py
parsers/
__init__.py
time_parser.py
abstract_parser.py
这里batch_runner
imports abstract_parser
,它又从 time_parser 导入。一切都已安装并在激活 venv 的情况下运行。
具体来说,batch_runner.py
包含:
from logic.parsers import abstract
from sys import argv
url = argv[1]
a = abstract(url)
logic/__init__.py
是空的。logic/parsers/__init__.py
包含:
from abstract_parser import abstract
from time_parser import _timeInfo
如果我直接去logic
运行python abstract_parser.py
,一切都会按预期进行。但是,如果我上一层并运行python batch_runner.py
,它可以导入abstract_parser
,但找不到time_parser
从哪个调用abstract_parser
,抛出ImportError: No module named 'abstract'