私はpython3、venv、およびc9.io PAASを使用してWebアプリを作成しています。私のコードの構造は次のとおりです。
batch_runner.py
logic/
__init__.py
parsers/
__init__.py
time_parser.py
abstract_parser.py
ここでは をbatch_runnerインポート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ただし、1レベル上に移動して実行するとpython batch_runner.py、インポートできますが、から呼び出されたものをabstract_parser見つけることができず、スローされますtime_parserabstract_parserImportError: No module named 'abstract'