Pip离线安装本地依赖包完整教程(Windows+Linux,含参数详解)

Python离线安装包 这样的流程可以确保在没有网络的环境中成功安装Python包及其所有依赖。:为Windows创建bat文件,为Linux创建sh文件。:确保下载和安装环境的Python版本、操作系统架构一致。:下载后检查所有依赖是否完整。 阅读详情

在企业内网、物理隔离设备、无外网服务器等封闭环境中,无法直接通过 pip 联网安装 Python 依赖包,是几乎所有开发、运维都会遇到的头疼难题。 很多同学离线部署踩坑:下载源码包离线要编译、子依赖缺失、Windows下载的包放到Linux无法使用、版本不匹配疯狂报错。 本篇文章适配 Windows、Linux 双平台,手把手带你走通「联网导出→离线下载→文件迁移→本地离线安装」完整闭环,参数逐行讲解,附带可直接复制的跨平台bat脚本,零基础也能搞定隔离环境Python项目部署。

🎯本文适合哪些场景?

专为无外网、物理隔离、网络受限的 Python 环境部署编写,覆盖绝大多数企业真实落地场景:

  • ✅内网业务部署:企业内网服务器、测试环境禁止外网访问,不能联网拉取依赖

  • ✅涉密隔离环境:政府、国企、军工物理断网设备,Python项目上线交付

  • ✅批量环境迁移:几十上百台服务器统一初始化Python环境,锁定版本批量同步

  • ✅网络恶劣环境:PyPI官方源超时、下载慢、频繁断线,离线包实现稳定安装

  • ✅版本固化交付:杜绝在线安装自动升级依赖,保证开发、测试、生产环境版本100%一致

📋整体流程总览(Windows/Linux通用)

⚠️最重要前置提醒:联网下载包的Python版本,必须和离线目标机器Python版本完全一致,否则大概率安装失败!

【环境校验】确认联网机器与离线机器:系统一致 + Python版本完全一致
        ↓
【步骤1】导出项目依赖 → pip freeze > requirements.txt
        ↓
【步骤2】下载离线whl包 → pip download 获取全量依赖(必带仅二进制包参数)
        ↓
【步骤3】文件迁移 → 拷贝requirements.txt + offline_packages文件夹至离线机器
        ↓
【步骤4】离线安装 → Windows/Linux执行本地批量离线安装命令
        ↓
【步骤5】环境验证 → pip list 校验所有依赖安装成功

核心思想:同源环境下载完整whl包 → 完整迁移文件 → 纯本地不访问外网索引 → 校验结果。严格按照这套流程,可以避开99%离线安装报错。

1️⃣导出项目依赖清单

在可以联网、和目标环境版本对齐的机器上,进入你的项目根目录,执行命令导出全部已安装依赖+精准版本,生成requirements.txt:

pip freeze > requirements.txt

💡小提示:如果只想导出本项目用到的依赖,不导出全部环境包,可以使用pipreqs工具,避免无关包被打包进离线包。

2️⃣批量下载全部离线whl包

根据清单下载主依赖+所有嵌套子依赖,一定要强制下载whl二进制包!千万不要下载tar.gz源码包,离线服务器大概率没有GCC编译环境,源码包几乎装不上。

参数解释:

  • -r requirements.txt:读取依赖清单,批量下载清单内所有包

  • -d ./offline_packages:所有whl包统一保存到此文件夹

  • --only-binary=:all::核心参数,只下载二进制whl,拒绝源码包

  • -i 清华源地址:国内加速,解决官方源慢、超时

  • --platform 指定目标操作系统架构

  • --python-version Python版本,3.10写310,3.9写39

#基础版本
pip download -r requirements.txt -d ./offline_packages --only-binary=:all:
​
#【推荐国内使用|清华镜像加速示例】
pip download -r requirements.txt -d ./offline_packages --platform win_amd64 --python-version 313 --only-binary=:all: -i https://pypi.tuna.tsinghua.edu.cn/simple

👉单独下载某一个包(补缺失依赖)

离线部署完成后,如果发现缺个别包,不需要全部重新下载,单独下载包+它的子依赖即可:

#格式 pip download 包名 -d 保存目录 参数
pip download requests -d ./offline_packages --platform win_amd64 --python-version 313 --only-binary=:all: -i https://pypi.tuna.tsinghua.edu.cn/simple

📌常用平台标签对照表

目标机器环境platform参数值
Linux x86_64 CentOS7+manylinux2014_x86_64
Linux ARM64(aarch64鲲鹏服务器)manylinux2014_aarch64
Windows 64位win_amd64

3️⃣迁移文件到离线隔离机器

把两样东西完整拷贝到不能上网的服务器:

  1. requirements.txt 依赖清单文件

  2. offline_packages(整个whl包文件夹,不要只拷贝单个whl)

❗不要只复制单个whl文件,会丢失嵌套子依赖,出现大量ModuleNotFoundError

4️⃣离线机器执行批量安装

--no-index:重中之重!完全关闭pip外网请求,禁止访问pypi,全程本地读取

--find-links:告诉pip去哪里寻找whl包,会自动解析子依赖

pip install --no-index --find-links=./offline_packages -r requirements.txt

单个whl包手动安装

⚠️注意:这种方式不会自动安装子依赖,只适合没有任何依赖的简单包!



pip install ./offline_packages/xxx.whl

🚀实战脚本

Windows直接下载Linux平台whl(跨平台神器) 很多小伙伴手上只有Windows开发机,但是要给内网Linux服务器做离线部署。不用换到Linux机器下载,下面bat脚本一键跨平台下载Linux x86_64的whl包。

新建文件命名:download_linux_wheels.bat

@echo off
chcp 65001 >nul
echo ==============================================
echo Windows下跨平台下载 Linux x86_64 whl离线包
echo 目标平台: manylinux2014_x86_64
echo ==============================================
:: ==========【请修改这里的配置!】 ==========
set "PY_VER=310"                :: python版本 3.9写39,3.10写310,3.11写311
set "OUT_DIR=./linux_offline"   :: 下载输出文件夹
set "REQ_FILE=requirements.txt" :: 依赖清单
set "PLATFORM=manylinux2014_x86_64"
:: ========================================
if not exist "%REQ_FILE%" (
    echo 错误:未找到 %REQ_FILE% ,请把脚本放到requirements.txt同一目录!
    pause
    exit /b 1
)
echo.
echo 目标Python版本: %PY_VER%
echo 输出目录: %OUT_DIR%
echo 依赖文件: %REQ_FILE%
echo.
:: 创建输出文件夹
if not exist "%OUT_DIR%" mkdir "%OUT_DIR%"
:: 执行pip download跨平台下载
pip download ^
-r "%REQ_FILE%" ^
-d "%OUT_DIR%" ^
--only-binary=:all: ^
--platform %PLATFORM% ^
--python-version %PY_VER% ^
--implementation cp ^
-i https://pypi.tuna.tsinghua.edu.cn/simple
echo.
echo ==============================================
echo 下载完成!包输出目录: %OUT_DIR%
echo 将 %OUT_DIR%文件夹 + %REQ_FILE% 拷贝到Linux离线机器
echo Linux离线安装命令:
echo pip install --no-index --find-links=./linux_offline -r requirements.txt
echo ==============================================
pause

✅脚本使用步骤:

  1. 将脚本和requirements.txt放在同一个文件夹

  2. 修改脚本顶部配置区,设置目标Linux机器Python版本

  3. CMD执行或者直接双击bat运行

  4. 将生成的linux_offline文件夹+requirements.txt拷贝到内网Linux服务器,复制脚本输出的安装命令直接运行

✅安装完成验证

pip list

核对清单内所有包版本是否全部成功安装。

💡高频踩坑避坑总结

  1. ❗Python版本必须完全一致,3.10下载的whl不能给3.9用

  2. ❗跨平台必须指定--platform,Windows本机下载不能直接拿给Linux

  3. ❗必须加--only‑binary=:all:,否则下载源码包离线编译报错

  4. ❗离线安装务必带上--no-index,否则pip会偷偷联网,隔离环境直接超时报错

  5. ❗不要手动一个个装whl,子依赖不会自动处理,优先用--find-links批量安装

  6. 部分小众包没有对应平台whl二进制包,这种离线场景下只能提前准备编译环境

Python之离线安装第三方库(依赖包) 离线安装Python第三方库(依赖包)。 阅读详情

相关推荐

PaddlePaddle离线安装教程(不使用docker),Linux和Windows

笔者这周在部署项目的时候面临PaddlePaddle批量部署的问题,这就不仅要求是离线安装,还要求安装包不能过大。当时在网上没有找到想要的教程,就去GitHub上提问PaddlePaddle的工程师了。GitHub问题链接,但是使用docker的话镜像文件解压后有12个G(pip在线安装安装包大小是200+M),这对于项目的批量部署来说是不能接受的。而且docker安装的镜像环境中集成了太多的工具...

VM_Alike的博客 8995

离线安装python包

python包离线安装技巧

Jackie_Hong的博客 9234

安装Deepspeed依赖包——Windows系统

发布这篇文章是因为我参与全国大学生课外学术科技作品竞赛的基于多模态大模型的遥感影像分析与语义理解的比赛时遇到的问题总结,作为提升自身秘术留存。希望可以遇到同赛的好友相互交流。Windows系统下安装Deepspeed依赖包,存在的问题如下关键错误是由于在。

2402_83871096的博客 3543

离线安装Python软件包的方法

由于公司的办公电脑只能在内网环境使用,所以熟悉的使用命令安装Python软件包的方法不能使用,需要实现离线安装Python软件包。下面介绍2种离线安装Python软件包的方法。

柚子Citron的博客 1万+

Anaconda离线环境搭建:从下载到安装的完整指南

本文提供了Anaconda离线环境搭建的完整指南,涵盖从下载Anaconda离线安装包、使用pip download或conda缓存准备项目依赖,到在无网络的目标机器上完成安装与验证的全过程。文章详细说明了Windows与Linux系统的安装步骤、离线Python包的安装方法,并给出了常见故障排查与最佳实践,帮助用户在内网等无网络环境下高效部署Python数据科学环境。

flower的专栏 1448

policycoreutils-python 离线安装,python离线库安装方法

原文链接在没有外网的情况下,安装Python环境只能采用离线方式。

2401_85305177的博客 2233

pip离线安装各种依赖包

我们在python开发中经常需要用pip安装各种各样的依赖包,但是很多生产场景,由于处于安全考虑,都不能直接访问外网,这个时候就得使用pip离线安装相关的依赖包了,本篇博客就来详细总结一下离线安装各种包的操作。

SunnyRivers 1891

pip离线环境安装包/虚拟环境离线迁移

pip离线环境安装包pip离线环境安装包基础环境功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 pip离线环境安装包 服务器没有镜像的情况下,offline机器安装python的包。 背景: 有一台可以联网的windows电脑

m0_37953759的博客 2437

windows上pip安装及使用详解

1、pip下载安装配置 1.1 python安装及环境变量设置 pip是依赖python的,首先检查下windows机器上有没有安装python,或者有没有添加到环境变量中,如果都没有需要安装或者加入环境变量,详细步骤请看: https://blog.youkuaiyun.com/m0_37774696/article/details/84310556 1.2 安装pip 将pip的tar包下...

小白_努力 7万+

policycoreutils-python 离线安装,python离线包怎么安装

这篇文章主要介绍了policycoreutils-python 离线安装,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获,下面让小编带着大家一起了解一下。在没有外网的情况下,安装Python环境只能采用离线方式。

2301_79533350的博客 1798

导出python项目中的依赖包,部署到其他电脑上

导出python项目中的依赖包,部署到其他电脑上

两点 1279

Windows联网,linux离线部署python3以及pip3及各种依赖包

/configure --prefix=/usr/local/python3 --with-openssl=/usr/local/openssl 注意:这里面的--with-openssl=/usr/local/openssl 是因为之前安装某个包时出现缺少_ssl,在最后记录。参考链接:https://blog.youkuaiyun.com/Amio_/article/details/126716818。2.上传到离线的系统当中 cd /home/python_proc/pip/pack。

suhjsir的博客 1141

离线下载 Python 包的方法与步骤

通过以上步骤,我们可以在没有网络连接的环境中进行 Python 包的离线下载和安装。首先,在有网络连接的环境中使用 pip 工具下载指定的包及其依赖项,然后将下载好的离线安装包复制到离线环境中,最后在离线环境中使用 pip 工具进行包的安装。为了解决这个问题,我们可以使用离线下载的方式来获取需要的 Python 包,并在离线环境中进行安装和使用。首先,我们需要在有网络连接的环境中下载需要的 Python 包。在离线环境中,我们可以使用 pip 工具来安装离线下载的包。的文件,它们就是我们需要的离线安装包。

BUG?不存在的! 3821

【免费下载】 windows和linux下python opencv安装(含离线安装)教程

本仓库主要提供了windows和linux环境下,Python环境中OpenCV库的安装方法。内容涵盖了使用pip命令在线安装以及利用whl文件进行离线安装两种方式。 ## 仓库内容 1. **在线安装方法**:通过pip命令直接从Python官方仓库安装OpenCV库。 2. **离线安装方法**:通过下载预编译的whl文件,在无网络环境下安装OpenCV库。 ## 注意事项 - 请确保...

gitblog_06736的博客 1111

动手学Moveit2|使用配置助手创建自己机械臂的功能包

今天没时间了,先生成功能包,下一步还需要装一些依赖才能运行,明天再补充下面的内容。

生活不止眼前的苟且 1万+

QT编程系列1--QT学习前需知

本周学习了一些QT编程方面的知识,学写了几个程序,这里把记录下来。一方面对前面学习的知识做一个总结,便于以后复习、再学习和应用;另一方面也和大家做个交流,有不足的地方请各位看官多指点。   首先是做一些学习之前的交代:一,学习QT需要哪些基础;二,学习QT有哪些用途,QT较其他的开发工具有哪些特点;三,学习QT的思路。

霜月孤鸟&RTEMS&TinyOS 1117

python 如何在内网离线安装依赖包

本文介绍了Python在内网环境中离线安装依赖包的方法:首先通过pip freeze导出依赖清单,用pip download下载所有依赖的.whl文件到本地目录;然后使用pip install --no-index命令从本地目录离线安装这些依赖包。文章提供了详细的操作步骤和命令说明,并附有截图演示整个过程,最终成功实现离线安装。该方法适用于无法连接外网的环境部署Python项目。

杨杨杨~~的博客 825

T2T基因组组装实战指南:从数据到完整染色体

本文详细介绍了T2T基因组组装技术的实战指南,从测序数据选择到完整染色体组装的全流程。重点解析了ONT ultra-long和PacBio HiFi测序技术的优势,以及如何攻克端粒和着丝粒等重复区域的组装难题。通过具体案例和实用技巧,帮助研究人员实现从数据到完整染色体的高质量组装。

weixin_29292535的博客 847

Conda环境下使用pip --find-links实现离线安装Python依赖包

Python依赖管理是项目开发中的基础环节,其核心原理是通过包管理器解析并安装项目所需的第三方库。在离线或网络受限环境中,传统的pip install命令因无法连接PyPI索引而失效,这时需要借助本地包仓库技术。通过pip的--find-links参数配合--no-index选项,可以将安装源定向到本地文件系统,实现纯离线环境下的依赖安装。这种技术方案在金融、军工、医疗等对网络安全要求严格的行业部署场景中具有重要价值,能确保开发环境的一致性和可复现性。本文以Conda环境为基础,详细讲解如何通过三步流程解决

394

TMS320F28377D/F28379D CAN通信避坑指南:从寄存器配置到中断处理的完整流程

本文详细解析了TMS320F28377D/F28379D在CAN通信开发中的关键技术与避坑指南,涵盖时钟配置、寄存器初始化、中断处理等完整流程。针对工业控制和汽车电子应用,提供了实用的优化技巧和错误诊断方法,帮助开发者高效实现稳定可靠的CAN通信。

weixin_30954265的博客 492

【QT】基于QSerialPort的跨平台串口通信实战指南

本文是一份基于Qt QSerialPort模块的跨平台串口通信实战指南。详细介绍了从硬件基础、QSerialPort核心类使用、参数配置、设备自动发现到数据异步读写和错误处理的完整流程,并通过构建一个功能齐全的串口调试助手实例,帮助开发者快速掌握在Windows、Linux和macOS系统下进行高效、稳定的串口应用开发。

a1b2c3d的博客 983

windows 下载 pip包,debian离线安装

类型包列表是否通用纯 Python 包✅ 跨平台通用含系统交互⚠️ 基本通用,但建议下载 manylinux wheel 版本。

kobe_okok的博客 653

ZYNQ:【1】深入理解PS端的TTC定时器(Part1:原理+官方案例讲解)

基于UG585详细讲解其中TTC的原理和使用案例。

Alex的技术博客 7889

pip依赖包跨平台迁移和离线安装

工作中需要把python的依赖包从win上,迁移到linux中,并且linux机器无法上网,方法如下 1、导出requirements文件 pipfreeze>requirements.txt 2、下载pip依赖到本地 pip download -d package -r requirements.txt --only-binary=:all: --platform linux_...

springlustre的专栏 5216

EDF Browser使用说明和技巧

edf browser使用说明和一些小技巧

Erhu_666的博客 8338

Veritas NetBackup8.1.1安装

1.在服务器上运行Browser.exe 2.选中安装,点击"NetBackup Server Software Installation" 3.提示一个”UAC模式”,我们确定忽略它 4.下一步 5.接受授权,下一步 6.自定义安装 7.输入Key,并点击”netBackup Master Server” 8.自定义路径,下一步 9.默认端口,下一步 10.创建内置账户 创建本地用户帐户: C:\>net user nbwebsvc <StrongPassword> /

万物皆可学 2万+
上一篇: 一文讲透Transformer 的正余弦位置编码核心原理
下一篇: pycharm 无法将“pip”项识别为 cmdlet、函数、脚本文件或可运行程序的名称
王_teacher
博客等级 码龄9年 118粉丝 51原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值