gpt4 book ai didi

AWS CodeBuild 的兄弟/姐妹文件夹中的 Python 相对导入

转载 作者:行者123 更新时间:2023-12-01 01:06:38 25 4
gpt4 key购买 nike

我正在使用 Python 2.7 在 AWS CodeBuild 上进行构建,但我相信这更像是一个通用的 python 导入问题。我有一个目录设置,如下所示。我正在 test 文件夹中运行 test.py 。我想导入依赖项 mainScript.py 作为此测试的一部分。但是,我似乎无法正确获取相对依赖关系,并且在测试文件夹中导入 mainScript 时遇到很多困难。下面是我的目录文件夹的布局

main
src
mainScript.py
test
test.py

例如,如果我的目录设置类似于

main
test
test.py
mainScript.py

我可以通过以下方式完成导入

from mainScript import *

我已经确认这有效。但是,我喜欢它在自己的 src 文件夹中。我已经尝试过所有这些这些是我尝试过的以下相对路径尝试

from ..src/mainScript import * #SyntaxError: invalid syntax
from ..src.mainScript import * #ValueError: attempted relative import beyond top-level package
from mainScript import * #ModuleNotFoundError: No module named 'mainScript'
from src.mainScript import * #ModuleNotFoundError: No module named 'src'
from src/mainScript import * #SyntaxError: invalid syntax

我已经挣扎了一会儿,但我找不到有人询问有关访问兄弟/姐妹文件夹脚本的问题。预先感谢您的帮助。

最佳答案

如果目录包含 __init__.py,Python 会将其视为包文件。将您的结构更新为以下内容应该可以解决问题:

    __init__.py
src
__init__.py
mainScript.py
test
__init__.py
test.py

现在,从 test.py 中,您可以执行 from ..src import * 。有关 init.py 的更多详细信息,您可以查看这里:What is __init__.py for?

关于AWS CodeBuild 的兄弟/姐妹文件夹中的 Python 相对导入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55289330/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com