在 Pycharm 之外运行脚本时找不到导入?

Emi*_*ily 5 pycharm python-3.x

我有一个这样构建的项目......

main.py 从子文件夹导入脚本,如下所示:

from controllers.available_balances_controller import available_balances_controller
Run Code Online (Sandbox Code Playgroud)

子文件夹:

  • 楷模
  • 意见
  • 控制器

在 Pycharm 中运行 main.py 时,它可以查找。

当我尝试在终端中运行时,出现导入错误:

Traceback (most recent call last):
  File "main.py", line 6, in <module>
    from controllers.available_balances_controller import available_balances_controller
ImportError: No module named controllers.available_balances_controller
Run Code Online (Sandbox Code Playgroud)

我在 main.py 中导入的脚本错误吗?

进行导入的正确方法是什么?

cyb*_*unk 3

尝试使用 -m 标志运行脚本:

$ python -m main
Run Code Online (Sandbox Code Playgroud)

这意味着您将main.py作为python包中的模块运行,而不是作为简单的脚本运行。PyCharm 通过在您创建项目时进行假设,让您的工作变得轻松。当你在终端时,你需要自己指定。在 Python3 中,您不需要目录中的文件。 __init__.py

查看: