*Edit: Ignore, I had forgotten to run `generate-lo...
# general
a
Edit: Ignore, I had forgotten to run
generate-lockfiles
Hello! I'm trying to add
boto3
to a project set up with pants 2.18.0 - this is a PEX binary. I'm running on ARM macOS Sonoma (14), with python 3.11.6 set via
asdf
.
Copy code
17:27:06.55 [INFO] Completed: Building 1 requirement for runner.pex from the requirements.lock resolve: boto3==1.29.7
17:27:06.55 [ERROR] 1 Exception encountered:

Engine traceback:
  in `run` goal - environment:mac

ProcessExecutionFailure: Process 'Building 1 requirement for runner.pex from the requirements.lock resolve: boto3==1.29.7' failed with exit code 1.
stdout:

stderr:
Failed to resolve compatible artifacts from lock requirements.lock for 1 target:
1. /Users/raph/.asdf/installs/python/3.11.6/bin/python3.11:
    Failed to resolve all requirements for cp311-cp311-macosx_14_0_arm64 interpreter at /Users/raph/.asdf/installs/python/3.11.6/bin/python3.11 from requirements.lock:

Configured with:
    build: True
    use_wheel: True

Dependency on boto3 (via: boto3==1.29.7) not satisfied, no candidates found.
My
pants.toml
contains this interpreter constraint:
Copy code
interpreter_constraints = ["CPython==3.11.*"]
What confuses me is that there seems to be a wheel on PyPi. It should be able to use that wheel on my platform? Any ideas why this might be failing?
1
1
🤦 1
Is there maybe something wrong with the wheel naming?
Ah! Please ignore - I had not run
generate-lockfiles
🤦‍♂️ Nothing to see here
c
huh, nonetheless this was not apparent from the error message I think. 😮
b
Huh, that's very non-obvious. it'd be good to have better diagnostics about diagnostics for stale lockfiles (i.e. don't satisfy the input requirements). Could you file an issue? Thanks
👍 1
a
will do - in fairness the error says that boto3 wasn't in the lockfile. I suppose if this happens to others as well, might be worthwhile to add a hint to try running generate-lockfiles?