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

clever-hamburger-59716

09/19/2022, 9:37 PM
What is the right way to include local wheel files? I have a project where I want to package a local wheel file (transitive dependency) with the pex_binary. I was going about it this way.
Copy code
python_requirement(
    name="client-lib",
    requirements=["client-lib.whl"],
)
pex_binary(
    name="service",
    entry_point="service.py",
    platforms=[
        'current',
        'manylinux2014-x86_64-cp-39-cp39',
        'macosx-12.0-x86_64-cp-39-cp39',
  ],
  dependencies=[":client-lib"],
)
This errors out with `Requirement 'client-lib....whl' looks like a filename, but the file does not exist`. 
1. Is this the right way to package a local wheel into a pex_binary
2. If so, what is the right way to specify the path?
3. If not, would love some help on how to go about doing this.
TIA
Sorry if the question is not clear. The dependency is a runtime dependency (using a direct reference in requirements.txt doesn't work). I figured that the path needs to be './client-lib.whl'. However, when packaging I run into this (redacting service name for anonymity):
Copy code
ValueError: The explicit dependency `<service>/client-lib.whl` of the target at `<service>:client-lib` does not provide enough address parameters to identify which parametrization of the dependency target should be used.
Target `<service>:<service>` can be addressed as:
  * <service>:<service>
  * <service>/__init__.py
  * <service>/service.py
Would appreciate any pointers that would help me make progress
5 Views