从Python radishbdd executab导入模块失败

2024-06-26 10:32:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图在radish中运行测试,这是一个面向Python的行为驱动的开发环境,但是我甚至做不到最简单的事情。

我有这样的结构:

.
├── features
│   └── my.feature
└── radish
    ├── __init__.py
    ├── harness
    │   ├── __init__.py
    │   └── main.py
    └── steps.py

当我这么做的时候

^{pr2}$

从我的工作方向看,一切都很好。

当我做同样的事情(“导入萝卜或“导入线束”)步骤.py,我在从同一目录调用命令“radish features”时会得到以下信息:

ModuleNotFoundError: No module named 'radish.harness'

或者

ModuleNotFoundError: No module named 'harness'

《萝卜bdd快速入门指南》quick start guide对此进行了说明:

How does radish find my python modules? radish imports all python modules inside the basedir. Per default the basedir points to $PWD/radish which in our case is perfectly fine.

确实,放在radish目录中的文件将自动导入,但我无法从这些文件中导入任何内容(除了系统库)。

有谁能告诉我如何导入模块吗?我迷路了。我对模块导入的python知识似乎没有帮助。


Tags: thenopy目录modulesinitmy事情
1条回答
网友
1楼 · 发布于 2024-06-26 10:32:39

我建议您将“harness”目录移到与“features”和“radish”目录相同的级别。在

.
├── features
│   └── my.feature
├── radish
│   ├── __init__.py
│   └── steps.py
└── harness
    ├── __init__.py
    └── main.py

如果您从您的工作目录(“.”)呼叫radish,如下所示:

^{pr2}$

然后可以从中导入“线束”模块步骤.py像这样

import harness

这样做是可行的,因为在本例中,Python将在当前目录中找到您的“harness”模块。在

相关问题 更多 >