【问题标题】:how to run a python file in a package from Idle?如何从 Idle 运行包中的 python 文件?
【发布时间】:2019-05-08 06:53:10
【问题描述】:

我有一个文件夹(python 包):

app/
   __init__.py
   bases.py
   store.py

store.py我有代码

from .bases import BaseStore

class Store(BaseStore):
    # .. class 

当我运行整个项目时,一切正常。
如何运行store.py 文件本身? 使用 Idle 运行文件会导致导入错误。
我怎样才能在空闲时运行一个脚本,它会知道它的包?

【问题讨论】:

  • 顺便说一句,尝试从.bases 中删除点。只需尝试from bases import BaseStore。我认为你不需要它。
  • 我确实需要点,因为它是包中的相对导入。 @TarasSavchyn 这没有回答我的问题,我说的是从空闲状态运行
  • 您是从app 文件夹运行store.py 吗?还是在它之外?
  • 来自应用程序文件夹。我只是右键 store.py -> Edit with IDLE 然后 F5 运行

标签: python python-module python-idle python-packaging


【解决方案1】:

我很确定这不是 IDLE 问题,而是相对导入、sys.path、当前工作目录以及如何启动 python 之间的交互之一。要确定,请在store.py 的顶部添加以下内容。

import os, sys
print(os.getcwd())
print(sys.path)

然后以两种不同的方式运行您的代码。还可以在命令行中添加

python /path/to/app/store.py

此列表相当于 IDLE 运行代码的方式。

【讨论】:

    猜你喜欢
    • 2016-09-18
    • 1970-01-01
    • 1970-01-01
    • 2013-06-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多