Is it possible to avoid building pex every time I ...
# general
s
Is it possible to avoid building pex every time I want to run a tool?
E.g. running
pants --only=mypy ::
builds a huge pex with all the 3rdparty dependencies and fails in ci with oom
h
building the pex fails? Or running it?
s
Building
h
If the third-party deps need to be present when the tool is run then I don’t see how this is avoidable
s
I was thinking to use uv instead of pex, creating symlinks is much faster than putting it all into pex, but that would require rewriting mypy backend, am I right?
h
It would require rewriting a huge chunk of the Python backend…
And uv does not yet have all the features we would need, anyway
But the pex we create should not be a zipfile, it should be, basically, a symlink farm venv
Although maybe that depends on a setting, I don’t quite remember
I’m assuming you have a lockfile?
s
I have a lockfile for mypy resolve and a lockfile for other code with a lot of 3rdparty dependencies. Anyway, I'll be debugging what exactly eats 50gb memory in CI, maybe it accumulates in some different place
Thank you