【问题标题】:Imports not found when running script outside of Pycharm?在 Pycharm 之外运行脚本时找不到导入?
【发布时间】:2016-04-28 08:53:49
【问题描述】:

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

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

from controllers.available_balances_controller import available_balances_controller

子文件夹:

  • 型号
  • 观看次数
  • 控制器

在 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

我是否在 main.py 中导入了错误的脚本?

导入的正确方法是什么?

【问题讨论】:

  • 您的终端使用的 Python 是否与您为 PyCharm 配置的 Python 不同?或者,也许您没有从项目目录运行终端 Python?
  • 我在项目目录中使用python3终端命令+脚本名。 Pycharm 配置为 3.5。当我将空白 init.py 添加到它找到项目模块的所有文件夹中时。但是现在它没有找到我在 Pycharms 解释器中导入的站点包。我是否需要在 init.py 中指定这些?

标签: python-3.x pycharm


【解决方案1】:

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

$ python -m main

这意味着您将main.py 作为python 中的模块 运行,而不是作为简单的脚本。 PyCharm 在您创建项目时假设如此,从而为您提供便利。当您在终端中时,您需要自己指定。在 Python3 中,您的目录中不需要 __init__.py 文件。

签出:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-29
    • 1970-01-01
    • 2019-10-19
    • 1970-01-01
    • 1970-01-01
    • 2020-07-08
    • 1970-01-01
    • 2013-03-10
    相关资源
    最近更新 更多