- Кодировать файл json как строку
import json
with open('service_account.json', 'r') as f:
info = json.load(f)
service_account_info = json.dumps(info)
Вывести строку в ваш .env файл, например
with open('.env', 'a') as f:
f.write(f'GOOGLE_SERVICE_ACCOUNT={service_account_info}')
Pu sh значения .env для heroku, например, использование invoke для запуска команд и honcho для анализа файла env. (Также можно использовать подпроцесс и python -dotenv, et c.)
from invoke import run
from honcho.environ import parse
with open('.env', 'r') as f:
env = parse(f.read())
cmd = 'heroku config:set ' + ' '.join(
f'{key}=\'{value}\''
for key, value in env.items()
)
run(cmd)
Выбросьте (метафорически) файл json и используйте только envvars.
import json
service_account_info = json.loads(getenv('GOOGLE_SERVICE_ACCOUNT'))
# do something with service_account_info!