https://pantsbuild.org/ logo
#development
Title
# development
c

curved-television-6568

11/16/2021, 2:36 PM
I have this snippet in a lockfile: 🧵
Copy code
colorama==0.4.4; python_version >= "3.6" and python_full_version < "3.0.0" and platform_system == "Windows" or python_full_version >= "3.5.0" and python_version >= "3.6" and platform_system == "Windows" \
    --hash=sha256:9f47eda37229f68eee03b24b9748937c7dc3868f906e8ba69fbcbdd3bc5dc3e2 \
    --hash=sha256:5941b2b48a20143d2267e95b1c2a7603ce057ee39fd88e7329b0c292aa16869b
Could that explain why I see this error?
Copy code
E           pex.environment.ResolveError: Failed to resolve requirements from PEX environment @ /private/tmp/RuleRunner.v94iucyq/process-executionsercod/.tmp/tmp3f4l975l.
E           Needed macosx_12_0_x86_64-cp-37-cp37m compatible dependencies for:
E            1: colorama>=0.4.3
E               Required by:
E                 twine 3.6.0
E               But this pex had no 'colorama' distributions.
For this proc:
Copy code
E           pants.engine.process.ProcessExecutionFailure: Process 'Building twine.pex from twine_default_lockfile.txt' failed with exit code 1.
OK, going to answer that with: Yes, that did explain it, as my test pass when I removed that platform constraint from the lockfile.
Now the question becomes, why was it there to begin with?
OK, that comes from the
poetry
world, not going into that.. found a workaround, that if I list the
colorama
dep explicitly, I avoid the platform constraint (!?!)