大家好,我是Ai学习的老章。
内网纯离线安装Python库,是件特别烦人的事。问题在于,当你信心满满地把一个库的.whl
文件传进内网准备安装时,它会无情地告诉你缺少某个依赖。
当你费尽周折找到依赖B的whl也传进去安装,系统会告诉你,B还有一个依赖C,等你把C搞定,它可能还有依赖D、E、F...
这个过程就像俄罗斯套娃,一层又一层,永无止境。你来来回回在外网下载、往内网传输,一整天就耗在这上面了,心态爆炸。
比如我要安装openai、unsloth的库,它们每个依赖都打几十个,vllm的库,依赖100多个Python库。。。

那么,有没有一劳永逸的办法?
当然有!核心思想就是:在外网环境,一次性把目标库和它所有的“子子孙孙”依赖项全部下载下来!
终极解决方案:pip download
pip
不仅能 install
,还有一个神器命令叫 download
。它能只下载不安装,并且把所有依赖项都给你扒下来。
第一步:在外网机器上准备
找一台可以上网的电脑,确保它的操作系统和Python版本和内网的生产环境尽量一致。
建议:用conda create 一个相同python版本的干净环境
这一点很重要,因为它决定了下载的whl文件是否兼容。
然后,创建一个文件夹,用来存放我们即将下载的所有库文件。比如 my_offline_packages
。
mkdir my_offline_packages
第二步:执行下载命令
假设我们要在内网安装 pandas
这个库。在可以上网的电脑上,打开命令行,进入刚才创建的文件夹的上一级目录,然后运行:
pip download pandas -d ./my_offline_packages
这条命令会做几件事:
- 解析
pandas
的所有依赖项(比如 numpy, pytz, six 等)。 - 所有下载的文件全部保存在
my_offline_packages
文件夹里。
执行完毕后,你会看到这个文件夹里装满了各种 whl
文件,这就是我们需要的“全家桶”。

屏幕截图 2025-08-21 173738.png第三步:打包传输
把 my_offline_packages
这个文件夹整个打成一个压缩包(比如 my_offline_packages.zip
),然后通过U盘、内部传输工具等方式,把它搬到内网的目标服务器上,并解压。
第四步:在内网服务器上安装
这是最关键的一步。进入内网服务器的命令行,使用以下命令进行安装:
pip install --no-index --find-links=./my_offline_packages pandas
让我们拆解一下这条神仙命令:
pip install pandas
: 我们的目标还是安装pandas。--no-index
: 核心参数! 它的意思是告诉pip“不要去访问官方的PyPI索引(也就是不要上网)”。强制pip变成一个纯粹的离线工具。--find-links=./my_offline_packages
: 这个参数是告诉pip,“虽然我不能上网,但是你可以在本地的 my_offline_packages
这个文件夹里查找你所需要的所有安装包”。
执行这条命令后,pip会:
- 根据
--find-links
的指引,它在 my_offline_packages
文件夹里找到了 numpy
的whl文件,于是自动安装它。 - 接着,它会用同样的方式,在本地文件夹里找到并安装所有其他的依赖。
整个过程行云流水,一步到位,再也没有烦人的“缺少依赖”提示了。
总结
面对Python的离线安装,不要再一个一个手动去下载依赖了。记住这个流程:
- 内网:
pip install --no-index --find-links=
从此告别依赖地狱,把宝贵的时间用在真正重要的事情上。
最后再推荐一个我正在学习的课程《RAG与Agent性能调优50讲》

