在Azure Machine Learning实验运行Python脚本时无法安装python-dotenv问题
问题根因
你遇到的报错是两个问题叠加导致的:
- 直接把
pip install这类shell命令、!pip这类Jupyter魔法命令写到了普通Python脚本里当作Python代码执行,不符合Python语法规则,所以抛出SyntaxError。 - 你的Azure ML运行环境里确实没有预装python-dotenv,所以直接导入模块会报ModuleNotFoundError。
解决方法
按你的使用场景选择对应方案即可:
- 如果你是在Azure ML计算实例的Jupyter Notebook中调试代码:
单独新建一个单元格,仅输入!pip install python-dotenv并执行,不要把这句安装命令放到包含业务逻辑的Python代码单元格里,执行完成后再运行你的业务代码即可正常导入dotenv。 - 如果你是在部署Azure ML的脚本端点用于正式推理:
不要在推理脚本内动态安装依赖,正确做法是在端点绑定的环境依赖配置中添加python-dotenv:- 找到对应环境的requirements.txt文件,新增一行
python-dotenv>=1.0.0 - 重新构建环境镜像后再部署端点,运行时就可以直接导入dotenv。
- 找到对应环境的requirements.txt文件,新增一行
- 如果你确实需要在Python脚本内动态安装依赖(仅推荐临时调试用,会增加端点启动耗时):
使用subprocess调用pip,这是符合Python语法的合法写法:
执行完这段代码后再导入dotenv即可。import subprocess import sys subprocess.check_call([sys.executable, "-m", "pip", "install", "python-dotenv"])
内容的提问来源于stack exchange,提问作者v-jh
相关产品推荐
相关产品推荐

