经常听同事抱怨,从开发环境切换到到测试环境,从测试环境切换到生产环境经常出现配置需要更改,或者特异性的BUG。
其实就是不同环境下还是有轻微的差别,比如数据库,MQ的地址,密码配置等,这些在使用或者配置时候没有注意或者遗漏造成的。
正好新的项目需要两个环境下来回切换,这里仅仅给个思路:
在统一的配置/setting文件中,加入某个文件的判断,
当有这个文件时候判定是环境A,没有的时候判断为B...
后面所有的配置都可以根据这个文件判断来推断目前的环境
import os
LOCAL_DEBUG = os.path.isfile("../all_airports.json")
JSONFILE_PATH = "/etc/all_airports.json" if not LOCAL_DEBUG else "../all_airports.json"
CSV_PATH = "/etc/airports/" if not LOCAL_DEBUG else "./"
我这里因为是scrapy项目,有两层用了上级目录的 json文件来判断,当使用生产环境时候,不配置这个json文件到这个相对母路径,而是一个固定的位置就可以达到让输入文件和输出文件都在指定位置的目的了