You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

已安装gir1.2-secret-1但msal-extensions Python包无法识别求助

问题原因

你使用的是Anaconda提供的虚拟Python环境,通过apt安装的gir1.2-secret-1依赖的GI类型库文件默认存储在系统路径/usr/lib/x86_64-linux-gnu/girepository-1.0/下,而Anaconda环境的gi模块默认只会读取Anaconda自身目录下的类型库文件,因此无法识别系统侧已经安装的Secret命名空间。

可行解决方案
  • 方案1:单次运行临时生效
    执行Python代码前,先在终端导出GI类型库路径:
    export GI_TYPELIB_PATH=/usr/lib/x86_64-linux-gnu/girepository-1.0/
    
    再启动你的Python程序即可正常识别依赖。
  • 方案2:当前虚拟环境永久生效
    1. 激活目标虚拟环境:
    conda activate azureml_py38
    
    1. 写入环境激活时的自动配置:
    cd $CONDA_PREFIX
    mkdir -p etc/conda/activate.d
    echo 'export GI_TYPELIB_PATH=/usr/lib/x86_64-linux-gnu/girepository-1.0/:$GI_TYPELIB_PATH' >> etc/conda/activate.d/gir_path.sh
    chmod +x etc/conda/activate.d/gir_path.sh
    
    1. 重新激活虚拟环境后,配置会永久生效。
  • 方案3:Anaconda环境内独立安装依赖(最推荐)
    激活虚拟环境后直接从conda-forge源安装全套依赖,无需依赖系统侧安装的包:
    conda install -c conda-forge pygobject libsecret
    
    注:该方案不会修改系统配置和全局环境变量,不同虚拟环境之间互不影响
  • 方案4:临时跳过libsecret校验(仅测试用,不推荐生产环境)
    若仅做临时测试,可以直接指定msal-extensions用明文文件缓存token,绕过libsecret依赖校验,代码示例:
    from msal_extensions import PersistedTokenCache, FilePersistence
    persistence = FilePersistence("msal_token_cache.bin")
    cache = PersistedTokenCache(persistence)
    

内容的提问来源于stack exchange,提问作者Adimenia

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 03:57:02