无网络环境下使用pip安装Python包(含GDAL等)依赖报错如何解决
离线安装Python指定包解决方案
报错原因说明
你遇到的报错是因为pip默认安装本地whl包时,会主动联网查询PyPI索引安装依赖包,离线环境无法联网就会触发连接失败提示,同时找不到对应依赖包。如果pip download命令未指定环境参数,可能下载的是适配当前联网机器的包,和离线机器环境不匹配,也会导致离线安装时找不到对应依赖。
操作步骤
- 第一步:确认环境一致性
提前校验联网机器和离线机器的Python版本(含小版本,如3.10.12)、操作系统架构(如Windows 64位)、pip版本完全一致,避免下载的包适配错误。 - 第二步:联网端下载全量依赖包
新建空文件夹用于存储安装包,进入文件夹后执行以下命令:
命令参数说明:pip download --python-version 310 --platform win_amd64 --only-binary=:all: numpy gdal pyproj fiona shapely geopandas--python-version后替换为离线机器的Python版本号,如3.9填39,3.10填310--platform后替换为离线机器的系统架构,32位Windows填win32
该命令会自动下载所有主包和间接依赖包到当前文件夹,包括报错中缺少的certifi类依赖。如果有个别GIS包(如GDAL)从官方源下载失败,可手动把对应版本的whl文件放入当前文件夹即可。
- 第三步:离线端安装
将整个安装包文件夹拷贝到离线机器,假设文件夹路径为D:\offline_py_pkgs,执行以下安装命令:
参数说明:pip install --no-index --find-links=D:\offline_py_pkgs numpy gdal pyproj fiona shapely geopandas--no-index:强制pip不联网查询PyPI索引--find-links:指定pip从本地文件夹查找安装包
按上述顺序安装即可适配GIS类包的依赖先后逻辑,避免依赖报错。
补充说明
如果仅需要安装单个包,也可以把该包的所有依赖提前放入同一个文件夹,安装时加上--no-index和--find-links参数即可。
内容的提问来源于stack exchange,提问作者riuss
相关产品推荐
相关产品推荐

