Azure机器学习工作区自定义Conda环境运行Notebook异常求助
问题是否正常?
这绝对不正常,说明内核实际指向的Python解释器与你创建的Conda环境不匹配,大概率是kernelspec配置有误,或是Azure ML Notebook的内核加载逻辑导致了路径偏差。
解决办法
重新检查kernelspec配置路径
激活自定义Conda环境后,运行jupyter kernelspec list查看内核安装路径,找到对应内核的kernel.json文件,打开后检查argv字段,确认路径指向自定义环境的Python解释器(例如/azureml-envs/your_env_name/bin/python),而非系统默认的Python 3.10路径。若路径错误,修改后保存并重启Notebook服务。在Conda环境内重装ipykernel并重新注册
激活环境后,先卸载现有ipykernel:pip uninstall -y ipykernel,再重新安装:pip install ipykernel,最后重新注册内核:python -m ipykernel install --user --name your_env_name --display-name "Your Custom Env",注册时明确指定--name和--display-name,避免与其他内核重名混淆。清理Azure ML工作区的缓存内核
在终端中删除旧内核缓存:rm -rf ~/.local/share/jupyter/kernels/your_old_kernel_name,之后重新注册内核,刷新Notebook的内核列表后重新选择。检查并修正环境变量覆盖问题
部分场景下,Azure ML的全局环境变量会覆盖Conda环境路径。激活自定义环境后运行echo $PATH,确认自定义环境的bin目录排在系统Python目录之前。若顺序不对,可在kernel.json中添加env字段强制指定PATH:{ "argv": ["/azureml-envs/your_env_name/bin/python", "-m", "ipykernel_launcher", "-f", "{connection_file}"], "display_name": "Your Custom Env", "language": "python", "env": { "PATH": "/azureml-envs/your_env_name/bin:$PATH" } }
内容的提问来源于stack exchange,提问作者Utkarsh Prakash

