已安装azure-cli-core仍报ModuleNotFoundError: No module named 'azure'
已通过python3.10 -m pip安装了以下Azure CLI相关模块:
python3.10 -m pip list 2023-03-24T23:57:52.8637926Z azure-cli 2.46.0 2023-03-24T23:57:52.8638330Z azure-cli-core 2.46.0 2023-03-24T23:57:52.8638523Z azure-cli-telemetry 1.0.8 2023-03-24T23:57:52.8638722Z azure-common 1.1.28 2023-03-24T23:57:52.8638929Z azure-core 1.26.3
但执行python3.10 -m pytest -s -rA运行测试时,出现导入错误:
2023-03-25T00:01:08.3698899Z ============================= ________________________ ERROR collecting test session _________________________ 2023-03-25T00:01:08.3796409Z /usr/lib/python3.10/importlib/__init__.py:126: in import_module from azure.cli.core import AzCommandsLoader E ModuleNotFoundError: No module named 'azure' 2023-03-25T00:01:08.3800743Z =========================== short test summary info ============================ 2023-03-25T00:01:08.3800996Z ERROR - ModuleNotFoundError: No module named 'azure'
确认pip与Python版本的对应性
执行python3.10 -m pip --version,查看输出中的Python路径是否和运行pytest的Python路径一致。若路径不同,说明pip安装的模块未在当前Python环境的搜索目录中。强制重新安装Azure相关模块
运行python3.10 -m pip install --force-reinstall azure-cli azure-cli-core azure-common azure-core,确保模块被安装到正确的Python环境site-packages目录下。排查虚拟环境冲突
若系统存在多个虚拟环境,确认运行pytest时是否激活了正确的环境。可执行python3.10 -c "import sys; print(sys.path)"查看当前Python的模块搜索路径,检查是否包含Azure模块的安装目录。验证模块基础导入
在终端执行python3.10 -c "from azure.cli.core import AzCommandsLoader",如果无报错,说明模块安装正常,问题可能出在pytest配置(如pytest.ini、conftest.py)修改了Python路径,需检查配置文件。指定安装路径并添加到搜索路径(可选)
若上述方法无效,可将模块安装到自定义路径,再通过环境变量添加到Python搜索路径:python3.10 -m pip install --target=/path/to/custom/site-packages azure-cli azure-cli-core azure-common azure-core运行pytest时加载该路径:
PYTHONPATH=/path/to/custom/site-packages python3.10 -m pytest -s -rA
内容的提问来源于stack exchange,提问作者WestCoastProjects

