Python / PyCharm:运行子包模块时的差异

问题描述 投票:0回答:2

我有一个项目细分为包,在以下结构中:

/project
    /pkg
        __init__.py
        engine.y
        ai.py
    __init__.py
    test_script.py

engine.py有一个import语句来使用ai.py看起来像

import pkg.ai as ai

这意味着test_script.py可以作为python test_script.py在命令行中运行,并且没有问题。但是出于调试目的,engine.py也经常运行。在PyCharm中运行它没有问题但是当使用python engine.py时我得到错误说No module named pkg

有没有什么方法可以在命令行中运行engine.py,以便它没有像PyCharm那样的导入错误?

有趣的是,PyCharm的工作方式是,如果我不将pkg.放在导入模块的前面,它会用红色表示它无法找到模块(但仍然运行)。我到处寻找解决方案,但只是更加困惑。

python module pycharm python-import
2个回答
© www.soinside.com 2019 - 2024. All rights reserved.