使用msgraph-sdk==1.1.0时遇ModuleNotFoundError问题求助
问题:msgraph-sdk调用
graph_client.me.member_of.get()触发ModuleNotFoundError 运行使用msgraph-sdk的Python应用时,调用以下get_user_groups方法触发ModuleNotFoundError: No module named 'msgraph.generated.users'错误,错误发生在result = await graph_client.me.member_of.get()行。已确认安装的是msgraph-sdk==1.1.0,但generated目录下无users模块。
async def get_user_groups(self, token: str) -> List[str]: credentials = OnBehalfOfCredential(tenant_id=TENANT_ID, client_id=CLIENT_ID, client_secret=self.aws_secret_manager_service.get_secret(), user_assertion=token) scopes = ['User.Read'] graph_client = GraphServiceClient(credentials, scopes) result = await graph_client.me.member_of.get() groups = [group.id for group in result.value] return groups
完整错误堆栈:
File "C:\Users\hesd\Documents\projects\backend\app\services\user.py", line 77, in get_user_groups user_azure_groups = await self.azure_ad_service.get_user_groups(token.get('jwt_token')) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\hesd\Documents\projects\backend\app\services\azure_ad.py", line 20, in get_user_groups result = await graph_client.me.member_of.get() ^^^^^^^^^^^^^^^ File "c:\Users\hesd\Documents\projects\backend\venv\Lib\site-packages\msgraph\graph_service_client.py", line 57, in me from .generated.users.item.user_item_request_builder import UserItemRequestBuilder ModuleNotFoundError: No module named 'msgraph.generated.users'
解决方案
- 重新安装msgraph-sdk包,修复安装不完整问题:
- 卸载现有包:
pip uninstall -y msgraph-sdk - 清理pip缓存(可选但推荐):
pip cache purge - 重新安装指定版本:
pip install msgraph-sdk==1.1.0
- 卸载现有包:
- 若重新安装后问题仍存在,单独安装users模块:
pip install msgraph-users==1.1.0 - 确认当前激活的虚拟环境正确,确保包安装在项目对应的虚拟环境site-packages目录下
- 检查虚拟环境的
site-packages/msgraph/generated目录,确认users文件夹存在,若不存在则重复上述安装步骤
内容的提问来源于stack exchange,提问作者Henrique Andrade
相关产品推荐
相关产品推荐

