如何从已安装的Python包中获取项目`config/`目录?

问题描述 投票:0回答:1

我有一个Python数据库接口包,它需要配置凭据才能工作。我想将它们放在一个配置文件中,而不是提交到接口存储库。所以我想到了以下结构:

my_project/
|-  config/
|   |-  database.json
|-  main.py                   (Contains 'from my_interface import Connection')
|-  ...
my_interface/
|-  src/
|   |-  module.py
|   |-  ...
|-  ...

但是我怎样才能让

my_interface
在导入它的项目中找到config目录呢?

该界面可以作为系统安装,也可以作为用户安装,或者安装在

venv
中,并且可以编辑,因此尝试从内部
module.py
(使用
__file__
)向上导航是不可靠的。

我发现了很多类似的问题,但他们似乎没有解决如何从导入的包内部解决这个问题,而是依赖于

__file__

python package config
1个回答
0
投票

可以读取环境变量

CONFIG_PATH = os.getenv('CONFIG_PATH', '<standart-path-to-config>')
module.py
您可以在 main.py 或其他地方

更改此变量
© www.soinside.com 2019 - 2024. All rights reserved.