Python Azure Functions中arcgis包仅含egg-info致模块缺失如何安装wheel版
问题原因
Azure Functions Python 运行时(包括本地调试的worker进程)默认仅扫描虚拟环境site-packages目录下携带dist-info元数据的wheel格式安装包,不会自动将egg格式包的路径加入模块搜索列表。你当前环境中安装的arcgis==1.8.0.post1为旧版setuptools默认生成的egg格式包,仅存在egg-info元数据,因此运行时无法识别到该模块,触发导入报错。
解决步骤
按以下顺序操作即可安装wheel版本的arcgis包修复问题:
- 首先在VS Code终端激活项目对应的venv虚拟环境:
- Windows系统执行:
.\venv\Scripts\activate - macOS/Linux系统执行:
source venv/bin/activate
- Windows系统执行:
- 卸载当前异常安装的egg版本arcgis:
pip uninstall -y arcgis - 升级pip和wheel组件,避免因组件版本过低无法识别/构建wheel包:
pip install --upgrade pip wheel - 强制以二进制wheel模式安装指定版本的arcgis,禁止走egg安装逻辑:
pip install arcgis==1.8.0.post1 --only-binary=:all: --force-reinstall - 安装完成后检查
venv/Lib/site-packages路径,确认存在arcgis-1.8.0.post1.dist-info文件夹后,重启Azure Functions本地调试进程即可。
补充说明
- 不要手动修改egg-info文件夹名称伪装成dist-info,会导致包内部依赖路径匹配错误,引发其他运行时异常。
- 若后续发布到Azure云端时复现相同报错,在发布配置中开启「部署时基于requirements.txt构建wheel包」选项即可,避免云端部署环节同样将包装为egg格式。
- 你的
requirements.txt中声明的datetime属于Python标准库,无需额外通过pip安装,保留该条目反而可能触发版本冲突,建议直接删除。
内容的提问来源于stack exchange,提问作者Zizzipupp
相关产品推荐
相关产品推荐

