我想提供一个配置ini文件,我的python包将保存敏感的数据库凭据。如何提供将要安装的默认配置文件,请在/ etc / config文件夹下说?在使用pip安装的软件包部署此类配置文件方面,最佳做法是什么?我不喜欢将此配置文件保留在其余的包文件中。
谢谢!
答案 0 :(得分:1)
我刚刚检查了如何使用流行的python项目。
django创建一个配置文件,允许指向具有数据库连接详细信息的另一个配置文件,存储在不同的位置: https://docs.djangoproject.com/en/2.0/ref/databases/#connecting-to-the-database
flask和airflow在用户主文件夹下创建默认配置,但允许使用环境变量覆盖配置文件的位置。配置文件存储敏感数据,如数据库连接或密钥: http://flask.pocoo.org/docs/0.12/config/#configuring-from-files https://airflow.apache.org/configuration.html
这两种方法都允许: 1)分发默认配置文件并使用软件包安装轻松部署 2)允许将敏感配置值存储在安全文件夹中
airflow还允许使用密钥加密数据库连接字符串。
另请参阅下面的这篇文章以及有关如何部署/存储配置文件的一些想法: https://stackoverflow.com/a/22554594/473725