如何在GitHub Workflow中运行Python代码及解决authlib模块缺失问题
问题根因
- 依赖不匹配:你代码中导入的
authlib是独立第三方库,和你安装的requests-oauthlib没有关联,CI环境没有安装authlib所以抛出模块不存在错误。本地环境因为提前安装过authlib所以可以正常运行。 - 脚本执行逻辑错误:
python -c仅执行后续引号包裹的单条语句,你后续写的完整业务代码完全没有传入Python解释器运行,即使依赖正确也无法得到预期结果。
修正后的Workflow配置
- name: Get Token run: | python -m pip install --upgrade pip pip install authlib requests-oauthlib # 将完整Python代码传入解释器执行 python << 'EOF' from authlib.integrations.requests_client import OAuth2Session if __name__ == '__main__': token_endpoint = "https://example.com" client_id = "********" client_secret = "******" session = OAuth2Session(client_id, client_secret) session.fetch_token(token_endpoint) access_token = session.token["access_token"] print(access_token) EOF
内容的提问来源于stack exchange,提问作者Tim
相关产品推荐
相关产品推荐

