离线安装 Python 包及其全部依赖
第一种方法 使用联网的电脑下载whl文件,然后复制到断网的服务器。
1. 在联网环境中下载包及依赖
使用 pip download
命令下载目标包及其所有依赖到指定目录:
pip download <package_name> -d ./packages
示例:pip download requests -d ./packages
关键参数:
-d ./packages:指定依赖包的下载目录。
--platform:指定目标系统平台(如 win_amd64, manylinux2014_x86_64)。
--python-version:指定 Python 版本(如 3.8)。
--only-binary=:all::仅下载二进制包(避免源码编译问题)。
2. 生成依赖列表(可选)
若需明确依赖版本,可生成 requirements.txt 文件:
pip freeze > requirements.txt
或使用 pipdeptree 生成精确依赖树:
pip install pipdeptree
pipdeptree --packages <package_name> > requirements.txt
3. 将文件转移到离线环境
将下载的 packages
目录(及 requirements.txt
)复制到离线机器。
4. 离线安装
在离线环境中使用以下命令安装:
pip install --no-index --find-links=./packages <package_name>
或根据 requirements.txt 安装:
pip install --no-index --find-links=./packages -r requirements.txt
注意事项
平台一致性:
确保下载时的操作系统、架构和 Python 版本与离线环境一致。跨平台需指定 --platform、--python-version 等参数。
二进制依赖:
若环境无编译工具,使用 --only-binary=:all: 避免源码包。
依赖冲突:
复杂依赖建议在虚拟环境中操作,避免污染全局环境。
第二种方法 在联网的电脑上搭建虚拟环境,然后将虚拟环境复制到未联网的服务器上(这个方法方便)
这种方法,需要确保联网的电脑和未联网的电脑cuda一致。
在联网的电脑上安装虚拟环境,执行命令:
conda create --name py39 python=3.9
然后,配置环境。等所需要的安装包均安装后,再将找到虚拟环境,将其压缩。执行命令:
zip py39.zip -r py39/
将py39.zip传到服务器的miniconda3/envs/文件夹下面。
scp py39.zip user@server:/path/to/miniconda3/envs/
然后解压,执行命令:
cd /path/to/miniconda3/envs/
unzip py39.zip
然后,在命令行使用source命令 添加虚拟环境
使用命令
source activate py39
如果不行,使用绝对路径,执行命令:
source /path/to/miniconda3/bin/activate /path/to/miniconda3/envs/py39
————————————————
本文为博主原创文章,未经博主允许不得转载。
原文链接:https://blog.csdn.net/hhhhhhhhhhwwwwwwwwww/article/details/146992799