【发布时间】:2020-01-16 09:29:06
【问题描述】:
导入共享相同代码资源的应用程序的最佳做法是什么?
假设我有一个自动股票交易员,其中包含两个独立运行的服务(不同的机器)。 这两项服务是:
-
collection_service- 每分钟收集一次股票价格并将其存储到 SQL 数据库中 -
decision_making- 每十分钟(根据收集的数据)决定是否购买股票。
出于维护SSOT 的愿望,它们都使用相同的SQL 表模型(例如SQLalchemy 模型),但是它们各自具有不同的依赖关系。
我补充说他们都使用我公司在不同项目中编写的代码。
我的存储库如下所示:
─my_companies_repo
├───auto_trader
│ ├───collection
│ │ main_collection.py
│ │ requirements.txt
│ │
│ ├───db_manage
│ │ sql_models.py
│ │
│ └───decision_making
│ main_decision.py
│ requirements.txt
│
└───common
import 语句会是什么样子,我应该在运行应用程序时传递几个PYTHONPATHs 还是只有一个根?
例如在:
main_decision.py
from auto_trader.db_manage.sql_models
# or pass two PYTHONPATH's (one for common and one for auto_trader) and do this:
from db_manage.sql_models
【问题讨论】:
-
“通过两个 PYTHONPATH”是什么意思? PYTHONPATH 是一个环境变量。不是“通过”,只有一个。
-
它解决了一个类似的问题,但是,在我的用例中,这将导致四个 repo,一个用于公司代码,一个用于数据库管理,一个用于收集,一个用于决策,对我来说似乎很不稳定。跨度>
标签: python structure pythonpath