解決開發環境和生產環境配置檔案匹配問題

2021-08-30 03:00:46 字數 972 閱讀 4459

做了乙個python的專案。需要連線資料庫。資料採用讀寫分離。

本地採用了乙個配置來記錄db資訊。名字為:settings.py

到了線上,才發現原來線上的環境不一樣。起碼,它的db讀寫分離位於不同的機器。而我本地開發,只能靠不同的db在實現。於是,配置檔案就得修改。這一改動就有好幾處地方要改變。相當麻煩。

次日,新增乙個功能,回到本地開發環境,配置檔案又得修改。(配置檔案都在svn上。之前的版本打了乙個tag)。

然後發布之前,又修改配置檔案。來回都不知道浪費了多少時間。關鍵是,還老忘記。鬱悶啊。

能否解決這個問題呢?

想了想。最終採用以下方法:

1)把原來的乙個配置檔案分成3個。

分別是:settings.development.py

settings.production.py

settings.py

settings.py實際上是根據條件,來讀development還是production裡面的具體配置資訊。

2)由於採用了3個配置檔案,所以需要乙個條件來判斷到底是哪個配置生效。所以,我在本地開發環境中,加入了乙個環境變數:***_yyy_zzz,我想,這個環境變數是不會在production環境中存在的。

3) 然後就可以根據2)設定的環境變數來找配置了。

if os.environ.has_key('***_yyy_zzz'):

getconffrom('settings.development.py')

else:

getconffrom('settings.production.py')

這裡有乙個要注意的地方:

配置好環境變數後,如果是在shell下執行程式,沒有什麼問題。

但是如果用eclipse+pydev開發,會發現,讀不到這個環境變數。

這個時候,需要在pydev的配置中加入這個環境變數。

此方法雖有點麻煩,但也不失為一種可行的解決方案。

vite配置開發環境和生產環境

為什麼需要境變數的配置 在很多的時候,我們會遇見這樣的問題。開發環境的介面是 此時,我們打包的時候自動獲取生產環境的值,vite為我們提供了這樣的方式。下面我們來看一下怎麼操作 境變數的配置在專案的根目錄下,建立 env.development檔案 開發 和.env.production 生產 在這...

vue開發環境 生產環境配置

vue開發環境 生產環境配置 首先生成三個檔案 env env.development env.production 他會根據你執行的環境 去自動走相應的檔案 env node env production env.development env.production node env produc...

webpack生產環境和開發環境的配置

最近在做公司遊戲預約頁面的時候,在配置webpack的時候,忽略了生產模式切換,導致開發過程中有些痛苦,當改動樣式或者某個外掛程式配置時,本地server要等待編譯很久才生效。用了很久的webpack做開發,之前一直沒太在意,現在特地整理下,也為以後做專案更加規範吧。在配置前,還是先了解下生產環境和...