离线安装python包必须先激活conda环境并确认路径正确,否则会装错位置;安装.whl需指定完整路径或进入其目录,批量安装应使用pip install --no-index --find-links配合requirements.txt自动解析依赖。

直接用 pip install 就行,但必须确保环境激活、路径正确、依赖已备齐——否则会报 ERROR: Could not find a version that satisfies the requirement 或 ImportError。
确认当前 conda 环境已激活
离线安装不是在任意命令行里敲 pip install 就能生效的。你得先激活目标环境,否则 pip 会装到 base 或系统 Python 里,导致 import 失败。
- 打开
Anaconda Prompt(Windows)或终端(Linux/macOS) - 运行
conda activate your_env_name,比如conda activate py39 - 执行
which python(Linux/macOS)或where python(Windows)确认路径指向该环境下的python.exe - 别用普通 cmd/PowerShell,除非你手动把
your_env\Scripts加进了 PATH
安装单个 .whl 文件:路径必须写全或 cd 进目录
pip install 不会自动搜索当前目录以外的位置。如果只写文件名,它默认去 PyPI 找——而你离线,这必然失败。
- 推荐方式:进入
.whl所在目录后执行pip install package-1.2.3-py39-none-win_amd64.whl - 或写绝对路径:
pip install C:\downloads\package-1.2.3-py39-none-win_amd64.whl - 别写成
pip install package.whl(没指定路径,pip 会报错找不到) - 注意文件名中的标签:
cp39表示 Python 3.9,win_amd64表示 Windows 64 位——错一个就Unsupported platform
批量安装多个 .whl 并解决依赖顺序
单个包可能依赖其他包(比如 wandb 依赖 requests、click),手动一个个装容易漏、顺序错、报 ModuleNotFoundError。
- 提前在联网机器上生成依赖清单:
pip download wandb --no-deps --platform win_amd64 --python-version 39 --only-binary=:all: - 把所有下载下来的
.whl放进同一文件夹,比如D:\whls - 在离线机上运行:
pip install --no-index --find-links D:\whls --upgrade --force-reinstall -r requirements.txt,其中requirements.txt只写一行:wandb - 这样 pip 会自动解析
D:\whls下所有 wheel,并按依赖拓扑排序安装 - 别用
conda install --offline装 .whl——它只认 conda 包(.tar.bz2),对 .whl 无效
验证安装是否真正可用
光看 pip list 出现在列表里不等于能用。很多库(如 GDAL、PyTorch)import 时才加载二进制组件,此时才发现 CUDA 版本不匹配或 DLL 找不到。
- 运行
python -c "import package_name; print(package_name.__version__)" - 对 GPU 库(如
torch),额外加print(torch.cuda.is_available()) - 如果报
DLL load failed,大概率是.whl编译时链接的 Visual C++ 运行库缺失——需在目标机安装vc_redist.x64.exe - 若用的是企业内网镜像源打包的
.whl,检查是否含私有签名或 hook,可能需额外配置trusted-host(虽离线,但某些包初始化时仍会尝试校验)
最常被跳过的一步:没核对 python -V 和 .whl 文件名里的 Python 标签(cp39/cp311)是否一致。差一个小版本,pip 就静默跳过,你以为装上了,实际什么都没发生。











