worried-salesclerk-37834
08/06/2021, 2:38 PMpex_binary(
name="pex_binary"
platforms=["linux-x86_64....", "macosx..."]
)
Am I missing some sort of config that would let the google dependency build its own wheel, or does it always have to use a wheel when specifying a platform?fresh-cat-90827
08/06/2021, 2:39 PMWhen you specify a platform, all distributions necessary must be available as pre-built wheels. It’s up to you to pre-build them and make them available.
fresh-cat-90827
08/06/2021, 2:40 PMworried-salesclerk-37834
08/06/2021, 2:45 PMworried-salesclerk-37834
08/06/2021, 2:46 PMfresh-cat-90827
08/06/2021, 2:53 PMThe route I currently took is just to have a build container for pants that’s the same distro as the one that the pex will run in.Sorry I am struggling to understand what this implies, could you please explain? I’d love to understand your situation better.
Did you end up having to do it for quite a few packages?We have about 50 external dependencies and I’ve built 5 wheels out of them (hosted on a private PyPI). I do agree that it’s not a sustainable situation to build many wheels (in particular those that are not pure Python — with C or Rust components — because you’ll need a toolchain present to build it for each target architecture/version).
fresh-cat-90827
08/06/2021, 2:54 PMsdist
packages)fresh-cat-90827
08/06/2021, 2:55 PMworried-salesclerk-37834
08/06/2021, 3:00 PMservices:
build:
image: "python:3.7"
volumes:
- .:/code
command: sh -c "code/pants package ::"
worried-salesclerk-37834
08/06/2021, 3:01 PMfresh-cat-90827
08/06/2021, 3:34 PM