Python requirements.txt 文件
对于 Python 包,不存在“一刀切”的解决方案。操作系统、硬件、库、Python 版本以及更多因素都会影响可以和应该安装哪些包。
为了全面覆盖所有可能性,有两种策略。首先,您可以通过 install
脚本直接安装 Python 模块。installPythonPackagesByName
提供了一种简单的方法来实现这一点。
其次,您可以提供特定于系统的 requirements.txt
文件,安装程序将在安装时选择正确的那个。这些文件根据设备、操作系统、架构、GPU 类型以及可选的 CUDA 库类型命名。
选择 requirements 文件的优先级顺序如下:
- requirements.device.txt
- requirements.os.architecture.cudaMajor_Minor.txt
- requirements.os.architecture.cudaMajor.txt
- requirements.os.architecture.(cuda|rocm).txt
- requirements.os.cudaMajor_Minor.txt
- requirements.os.cudaMajor.txt
- requirements.os.(cuda|rocm).txt
- requirements.cudaMajor_Minor.txt
- requirements.cudaMajor.txt
- requirements.(cuda|rocm).txt
- requirements.os.architecture.gpu.txt
- requirements.os.gpu.txt
- requirements.gpu.txt
- requirements.os.architecture.txt
- requirements.os.txt
- requirements.txt
说明符
- device 是 raspberrypi、orangepi 或 jetson 中的一个。
- os 是 linux、macos 或 windows
- architecture 是 x86_64 或 arm64
- cudaMajor_Minor 是当前安装的 CUDA 的主/次版本号(例如 cuda12.2)。
- cudaMajor 只是主版本号(例如 cuda12)。
- rocm 指的是 AMD ROCm GPU 支持,而 cuda 指的是 NVIDIA CUDA 支持。
- gpu 是一个通用标识符,意思是“如果启用了 GPU 支持,但未检测到 CUDA 或 ROCm GPU,则使用”。这非常适合支持多个 GPU 的包,例如 OpenVINO 和 DirectML。
例如,requirements.linux.arm64.cuda11_7.txt
将是一个专门针对 Linux on arm64 系统且目标 CUDA 11.7 的 requirements 文件。requirements.windows.gpu.txt
将用于定位找到 GPU 的 Windows 系统。如果在此情况下未找到 GPU,但存在 requirements.windows.txt
文件,则将使用该文件作为备用。始终提供通用的、安全的 requirements.txt
备用文件是明智的。