小编Kme*_*low的帖子

Python 3 区分生产和开发配置的最佳实践

我正在开发一个嵌入式系统项目,我的dev设置与我的prod. 差异包括变量和包导入。

为 python3 应用程序构建配置文件的最佳方法是什么,其中devprod设置不同?

prod:我的设备与电子系统交换消息(使用pyserial)并与服务器通信。

dev:我使用来自函数的虚假和固定响应来模拟电子和服务器响应。即使我模拟的功能在prod它们中是必不可少的,但在dev. 我可以嘲笑它们,因为这个项目最重要的部分是使用和处理它们的函数。因此,有些包导入和函数调用没有意义并在dev模式中引入错误。

每次我需要从一个切换到另一个时,我都需要更改大量代码,有时会引入错误。我知道这真的 () 不是最好的方法,我想知道什么是最佳实践

找到的最接近的解决方案

这里有一个很好的解决方案,可以为每个环境设置不同的变量。我希望有类似的东西,但对于需要为不同环境导入不同包的项目。

我的设置

基本工作流程:

  • task每秒执行一个线程
    • module_1 工作和打电话 module_2
    • module_2 工作和打电话 module_3
    • module_3 做工作并发回响应

基本文件夹结构:

  • root
    • main
    • config.py
    • /config
      • prod
      • dev
    • /mod_1
    • /mod_2
    • /mod_3
    • /replace_imports

module_1module_3使用,每个,一个特定的包prod,必须由一个dev函数替换

我有什么:

# config.py
if os.environ["app"] == "dev":
    import * from root.config.dev
if os.environ["app"] == "prod": …
Run Code Online (Sandbox Code Playgroud)

python

5
推荐指数
2
解决办法
5341
查看次数

标签 统计

python ×1