离线环境安装 python 包记录
在一些离线环境中,可能无法直接使用 pip
安装 Python 包。为了解决这个问题,可以通过 pip download
在联网环境中预先下载所需的包,并将这些包转移到目标离线环境进行安装。本文将介绍如何使用 pip download
下载 Python 包,并将其存储到指定目录,以便在离线环境中使用。
1. pypi下载whl
只安装特定版本的 Python 包,且依赖较少
(pypi)[https://pypi.org/ ]
2. 使用 pip download
下载包
推荐方法
pip download
允许你在有网络连接的机器上下载 Python 包(及其依赖),然后将它们转移到离线机器上安装。
基本命令如下:
pip download package_name
这将下载指定包及其所有依赖项,并将它们保存在当前工作目录中。
更多参数使用
需求 | 命令 |
---|---|
下载到指定目录 | pip download -d /path/to/dir package_name |
下载多个包到指定目录 | pip download package1 package2 |
下载 requirements.txt 中的包 | pip download -r requirements.txt |
下载特定 Python 版本的包 | pip download --python-version x.x package |
下载特定平台的包 | pip download --platform xxx --only-binary :all: package |
pip download -d ./my_whl --python-version 3.12 --platform manylinux2014_x86_64 --only-binary :all: numpy
⚠️ 注意:
--platform
需要搭配--only-binary :all:
,否则 pip 可能会尝试下载源码包(.tar.gz),导致编译失败。下载 Linux 的 .whl,建议用 Linux 机器或 WSL 进行下载。
项目中提取依赖列表
cd my_project
pip install pipreqs
pipreqs /path/to/project --force
这将在项目目录生成 requirements.txt。
安装离线下载的包
下载并传输到离线服务器后,可以通过以下命令安装:
pip install --no-index --find-links=/path/to/download numpy
这样,pip
会从指定的目录 (/path/to/download
) 安装包,而不连接 PyPI 服务器。