python - 组织 python 项目以轻松访问所有模块的最佳方法
问题描述
我知道这个问题在很多地方都被问过,但他们似乎都没有真正回答我的问题。
我在 python 中创建一个独立的应用程序,我当前的项目结构是这样的:
Project/
utils/
log.py
api/
get_data_from_api.py
main.py
我想要一个类似于django的设置,在其中我可以使用Project.<package>
语法来引用任何文件。
例如,如果我想log
从我的模块访问我的get_data_from_api
模块,我可以这样做:
get_data_from_api.py
import Project.utils.log
# Rest of code goes here...
但是,即使我__init__.py
在根目录中添加了一个文件,我似乎也无法让它工作。
我在某处读到应该修改我PYTHONPATH
的 . 此外,django 似乎成功了,因为我在那里找不到任何PYTHONPATH
修改代码。
我真的很感激帮助!
后注:tests
这个文件结构适合哪里?我希望它们是分开的,但也可以很容易地访问整个项目。
解决方案
您需要添加__init__.py
到要视为 Python 包的每个目录,而不仅仅是根目录。
后注:测试适合此文件结构的什么位置?我希望它们是分开的,但也可以很容易地访问整个项目。
您可以将您tests
的项目目录本身与 api 和 utils 平行。
推荐阅读
- c# - 每次按下按钮时如何停止面板加载
- laravel - 配额组“WriteGroup”Google Sheet Api 错误超出配额
- php - 覆盖枢轴模型上的铸造类型
- gradle - 如何从 Gradle 中的 Kotlin 获取 Groovy DSL 提供的值
- kubernetes - 如何查看已终止 pod 的日志
- ios - 如何将 iOS 版本存档到 App Store?
- django - 如何在视图中获取嵌套关系
- java - JAX-RS 2.1 参数类型 Object.class
- angular - Angular 7,如何将“更改检测策略”更改为所有组件的 onpush?
- gatsby - 如何解决错误:命令失败:安装 gatsby 入门主题时 npm install