gpt4 book ai didi

python - 在测试和核心之间共享模块 - 适当的项目结构

转载 作者:行者123 更新时间:2023-11-30 22:06:26 25 4
gpt4 key购买 nike

我正在尝试改进项目结构,同时添加到代码库。我找到了一个示例结构here看起来像这样:

README.rst
LICENSE
setup.py
requirements.txt
sample/__init__.py
sample/core.py
sample/helpers.py
docs/conf.py
docs/index.rst
tests/test_basic.py
tests/test_advanced.py

我特别注意到 requirements.txtsetup.py 的级别高于 tests/sample/

如果我添加sample/classes.py,您只需在sample/core.py中编写from classes import MyClass即可将其导入那里。然而,它不能那么容易地导入到 tests/test_basic.py 中,导入时看起来不像 python '看起来在拐角处'那样。

就我而言,还有一个与requirements.txt处于同一级别的MANIFEST.in和一些文件,这些文件不是真正的python,而是只是为其运行的平台进行设置。

如果classes.pyrequirements.txt处于同一级别,我认为tests/中的所有内容都可以轻松导入它,并且在 sample/ 及其子目录中,但它可能需要一个 __init__.py 这感觉不太对劲。

那么,如果 tests/sample/ 都需要能够使用它,那么它应该放在哪里?

最佳答案

让我们变得简单。

如果我理解正确,问题是如何在测试中导入简单模块。这意味着您想要使用类似 from simple.classes import MyClass.

这很简单,只需在执行 python test/test_basic.py 之前将根路径添加到 PYTHONPATH 即可。

当您通过 IDE 执行测试时,这也是 IDE 为您所做的事情。

关于python - 在测试和核心之间共享模块 - 适当的项目结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52724222/

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