我想在我的python包中提供一个配置ini文件,它将包含敏感的数据库凭据。如何提供将安装在/etc/config文件夹下的默认配置文件?就使用pip安装的包部署此类配置文件而言,最佳实践是什么?我不喜欢将此配置文件与其他包文件一起保存。
谢谢!
发布于 2018-01-15 22:53:05
我刚刚检查了流行的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
https://stackoverflow.com/questions/48256306
复制相似问题