fix(wecom): diag_wecom 加 sys.path 仓库根 + 手动 .env 兜底(直跑不再 ModuleNotFoundError)+ bump 0.26.5
诊断已定位线上 60020:应用「企业可信IP」白名单未含服务器出口 IP。 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
6f7c904cca
commit
ed2ff52bf4
|
|
@ -1,3 +1,3 @@
|
||||||
# zcbot 版本号单一事实源:web/app.py 的 FastAPI version、/healthz 返回、前端展示都引这里。
|
# zcbot 版本号单一事实源:web/app.py 的 FastAPI version、/healthz 返回、前端展示都引这里。
|
||||||
# 改版本只动这一行。
|
# 改版本只动这一行。
|
||||||
__version__ = "0.26.4"
|
__version__ = "0.26.5"
|
||||||
|
|
|
||||||
|
|
@ -12,11 +12,33 @@
|
||||||
import os
|
import os
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
|
# 仓库根加入 sys.path(脚本在 scripts/ 下,直跑时 core 在上一级)
|
||||||
|
_ROOT = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
|
||||||
|
if _ROOT not in sys.path:
|
||||||
|
sys.path.insert(0, _ROOT)
|
||||||
|
|
||||||
|
|
||||||
|
def _load_env(path: str) -> None:
|
||||||
|
"""加载 .env:优先 python-dotenv,没装则手动解析(只填未设置的 key)。"""
|
||||||
try:
|
try:
|
||||||
from dotenv import find_dotenv, load_dotenv
|
from dotenv import load_dotenv
|
||||||
load_dotenv(find_dotenv())
|
load_dotenv(path)
|
||||||
|
return
|
||||||
except Exception:
|
except Exception:
|
||||||
pass
|
pass
|
||||||
|
try:
|
||||||
|
with open(path, encoding="utf-8") as f:
|
||||||
|
for line in f:
|
||||||
|
line = line.strip()
|
||||||
|
if not line or line.startswith("#") or "=" not in line:
|
||||||
|
continue
|
||||||
|
k, v = line.split("=", 1)
|
||||||
|
os.environ.setdefault(k.strip(), v.strip().strip('"').strip("'"))
|
||||||
|
except FileNotFoundError:
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
_load_env(os.path.join(_ROOT, ".env"))
|
||||||
|
|
||||||
from core.wechat import wecom
|
from core.wechat import wecom
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue