#python #git #flask #heroku #deployment
#python #git #flask #heroku #развертывание
Вопрос:
Извините, если вопрос слишком глупый. Пытался развернуть приложение Flask в Heroku, но получаю сообщение об ошибке, в котором говорится, что Heroku не находит файл json, который у меня есть в моем корневом каталоге. users_data_db.json
Этот файл содержит фиктивные данные для входа пользователя, поэтому у меня они есть в файле git ignore. Я предполагаю, что именно поэтому Heroku не может прочитать файл? Какова была бы моя альтернатива? Я не возражаю против извлечения файла из git ignore, если мне нужно, поскольку данные являются заполнителями / поддельными паролями.
Журналы ошибок после запуска heroku logs --tail
являются:
2020-08-20T00:10:11.527823 00:00 app[web.1]: File "/app/model.py", line 14, in load_user_db
2020-08-20T00:10:11.527824 00:00 app[web.1]: with open("users_data_db.json") as f:
2020-08-20T00:10:11.527824 00:00 app[web.1]: FileNotFoundError: [Errno 2] No such file or directory: 'users_data_db.json'
2020-08-20T00:10:11.528063 00:00 app[web.1]: [2020-08-20 00:10:11 0000] [10] [INFO] Worker exiting (pid: 10)
2020-08-20T00:10:11.672038 00:00 app[web.1]: [2020-08-20 00:10:11 0000] [4] [INFO] Shutting down: Master
2020-08-20T00:10:11.672225 00:00 app[web.1]: [2020-08-20 00:10:11 0000] [4] [INFO] Reason: Worker failed to boot.
2020-08-20T00:10:11.757052 00:00 heroku[web.1]: Process exited with status 3
2020-08-20T00:10:11.798465 00:00 heroku[web.1]: State changed from up to crashed
Моя корневая древовидная структура:
- __pycache__
- .vscode
- static
- templates
- venv
- .gitignore
- app.py
- model.py
- notes_data_db.json
- Procfile
- README.md
- requirements.txt
- runtime.txt
- user.py
- users_data_db.json
Спасибо!
Комментарии:
1. Вы можете хранить конфиденциальную информацию в переменных среды, а затем извлекать их в python с помощью
import os; os.environ["KEY"]
Ответ №1:
Это может быть потому, что user_data_db.json
не существует в вашем репозитории?
Комментарии:
1. правильно, это мое предположение, потому что оно в .gitignore