[英]How do I set environment variables in a python script using a dockerfile?
[英]How do I export environment variables using a script in the same shell in python?
我的 django 項目從環境變量中獲取憑據,現在我想自動化這個過程並將憑據存儲在保險庫(hashivcorp)中。 I have a python and shell script which fetches data from an API and exports it as environment variables, when I run it using os.system command it runs the shell script but as it runs it in a subprocess, I can't access the variables在主(父)進程/外殼中。 唯一的方法是在 settings.py 文件中插入 shell 腳本。 有什么辦法可以讓我在主流程中得到這些嗎? Ps:我確實嘗試過采購,os.system 沒有將其識別為命令。
這是我正在運行的代碼:
import os
os.environ['ENV'] = 'Demo'
os.system('python3 /home/rishabh/export.py')
print(os.environ.get('RDS_DB_NAME'))
output:
None
python 文件,shell 腳本工作得很好。
一種方法是在同一進程中運行export.py
,正如user1934428建議的那樣:
import os
import sys
os.environ['ENV'] = 'Demo'
sys.path.append('/home/rishabh/')
import export # runs export.py in the same process
print(os.environ.get('RDS_DB_NAME'))
這假設 export.py 中沒有export.py
__name__ == '__main__'
檢查。
如果export.py
與當前腳本位於不同的目錄中,則只需要sys.path
行。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.