从同级包导入可能会给组织代码库带来挑战。虽然 sys.path.append hack 提供了一种解决方法,但还有一种更优雅的解决方案,可以消除这些侵入性插入的需要。
考虑以下文件结构:
api.py:
def function_from_api(): return 'I am the return value from api.api!'
test_one.py:
from myproject.api.api import function_from_api def test_function(): print(function_from_api()) if __name__ == '__main__': test_function()
至运行 test_one.py,确保 myproject 以可编辑状态安装。然后,执行:
python myproject/tests/test_one.py
你应该看到输出:“I am the return value from api.api!”。
这个方法允许你从同级包导入,而无需求助于像 sys.path.append 这样的黑客解决方案。通过利用 pyproject.toml 和可编辑安装,您可以维护干净且模块化的代码库,同时促进轻松的扩展和测试。
以上是如何在不使用'sys.path”黑客的情况下从同级包导入?的详细内容。更多信息请关注PHP中文网其他相关文章!