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

better-cricket-91243

01/06/2022, 4:57 AM
Copy code
pex: error: argument --platform: linux_x86_64 is an invalid platform:
Not a valid platform specifier: linux_x86_64

Platform strings must be in one of two forms:
1. Canonical: <platform>-<python impl abbr>-<python version>-<abi>
2. Abbreviated: <platform>-<python impl abbr>-<python version>-<abbr abi>

Given a canonical platform string for CPython 3.7.5 running on 64 bit linux of:
  linux-x86_64-cp-37-cp37m

Where the fields above are:
+ <platform>: linux-x86_64 
+ <python impl abbr>: cp
+ <python version>: 37
+ <abi>: cp37m

The abbreviated platform string is:
  linux-x86_64-cp-37-m

Some other canonical platform string examples:
+ OSX CPython: macosx-10.13-x86_64-cp-36-cp36m
+ Linux PyPy: linux-x86_64-pp-273-pypy_73.
need abit of help with definition of pants file
Copy code
python_library()

pex_binary(
    name="run",
    dependencies=[":test"],
    entry_point="test.py",
    platforms=[
       'current',
       'linux_x86_64',
       'macosx-10.7-x86_64',
    ],
)
i am building this pex binary on MAC but i want to ship to a linux server to run eventually
h

happy-kitchen-89482

01/06/2022, 7:20 AM
I think you want
linux-x86_64
but you have
linux_x86_64
? (that first underscore should be a dash)
b

better-cricket-91243

01/06/2022, 7:38 AM
so i am building my pex binary on macosx so I assume that will factor into it if i want to execute the pex binary on linux right? so I should build the pex binary on a linux instance first?
h

happy-kitchen-89482

01/06/2022, 1:43 PM
You can only build a cross-platform pex if all the transitive requirements are available as wheels
If not then you'll probably want to build separately on each platform
5 Views