-
-
Notifications
You must be signed in to change notification settings - Fork 575
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Bug: 无法从环境变量中读取列表型变量 #1575
Labels
invalid
This doesn't seem right
Comments
你需要在.env文件里添加这个参数值,否则nb会认为这是无关环境变量,示例: # .env
CONFIG_FROM_ENV_LIST= os.environ["CONFIG_FROM_ENV_LIST"] = '["test"]' |
yanyongyu
added
invalid
This doesn't seem right
and removed
bug
Something isn't working
labels
Jan 9, 2023
部分环境变量不适宜通过.env传递数据,例如onebot适配器的正向WS链接、Nonebot2的SUPERUSERS。 |
.env里留空就行了,让nb知道这个环境变量是要读取的,这样才会去环境变量里获取 |
目前dotenv没有合适的list配置项解决方案,目前只有dict可以使用delimiter来进行配置,参考pydantic文档 |
明白了,目前官方文档有类似表述吗? |
确实该在 环境变量 那个地方加个提示。 |
虽然实际上任何存在的配置项都会优先从环境变量中获取 |
至少对我来讲似乎存在一些歧义,不知道添加一行
类似于这种的代码示例会不会好一些? |
可以考虑在文档中明确一下 |
好的,明白,谢谢了,那就关闭issue了。 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
描述问题:
nonebot2的变量类型读取能力表格如下:
如何复现?
在
tests/test_init.py
作如下修改,运行测试出现错误:# 测试命令参照.github/workflows/codecov.yml $ poetry run pytest -n auto --cov-report xml
期望的结果
环境信息:
该问题在以下环境中可以复现。
Darwin notebook.zeithrold.local 21.6.0 Darwin Kernel Version 21.6.0: Wed Aug 10 14:28:35 PDT 2022; root:xnu-8020.141.5~2/RELEASE_ARM64_T8101 arm64
master
分支HEAD,afd13ed65d6b925bf4f1587a8dfd7fa3c09da152
Linux codespaces-d7be66 5.4.0-1098-azure #104~18.04.2-Ubuntu SMP Tue Nov 29 12:13:35 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
master
分支HEAD,afd13ed65d6b925bf4f1587a8dfd7fa3c09da152
协议端信息:
无
截图或日志
无
备注
这似乎是
Pydantic
的问题,该库文档提供了一种通过自定义解析的方式获取列表型环境变量:从环境变量读取配置的原因在于,使用nonebot必然导致输入机密数据,这些数据不适宜存储在文件当中。部分Adapter要求使用列表型配置,但并不支持通过环境变量读取。
如果只能通过Pydantic读取变量,那么至少要在官方文档中醒目标注:目前无法支持通过环境变量传入列表型变量。
The text was updated successfully, but these errors were encountered: