某些部署环境(例如AWS Lambda)需要创建一个包含应用程序代码及其中所有要求的zip文件。通常,将需求安装到构建目录中很简单:
pip install -r requirements.txt -t some_build_dir
当您未在与要运行代码的目标运行相同的平台时,这被证明是有问题的。在OS X上工作时尝试部署到Linux环境。
有一个--platform
选项,但是它也迫使您设置--only-binary :all:
选项,然后该选项将无法安装所有未安装车轮的软件包。
如何将需求安装到目标目录中,并且轮包针对不同的平台,同时又不妨碍非轮包的安装?
答案 0 :(得分:1)
为与平台相关的车轮创建单独的需求文件。
然后:
pip install -r requirements_sdist_and_universal_wheels.txt -t some_build_dir
pip install -r requirements_platform_dependent_wheels.txt --plaform LukasOS --only-binary=:all: -t some_build_dir