aloof-angle-91616
07/05/2018, 7:35 PMPythonRun
only, with `Failed to execute PEX file, missing macosx_10_12_x86_64-cp-27-cp27m compatible dependencies for: my local dist`: see https://travis-ci.org/pantsbuild/pants/jobs/400569783. this does not repro on my osx laptop. in SetupPyRunner
we're tagging the locally-built dist with --plat-name
set to get_local_platform()
if there are native sources. get_local_platform()
has a TODO linking to this issue: https://github.com/pantsbuild/pex/issues/511, and it seems reasonable to think these are related, but it's not clear to me what would cause this resolution failure.aloof-angle-91616
07/05/2018, 7:35 PMSetupPyRunner
is being invoked with the interpreter
from self.context.products.get_data(PythonInterpreter)
, and that is also used to create the pex that is consumed in PythonRun
. i tried setting --pre
in the WrappedPex#cmdline()
method, which did not seem to resolve the issue (nor did blasting caches), but especially since this is only on the osx shard i would suspect the platform is different somehow.aloof-angle-91616
07/05/2018, 7:36 PMaloof-angle-91616
07/05/2018, 7:37 PMaloof-angle-91616
07/05/2018, 7:38 PM--tag-build
is not used for local dists though (as is done on master)enough-analyst-54434
07/05/2018, 7:43 PMenough-analyst-54434
07/05/2018, 7:44 PMallow_prereleases
whenever there are python_dists
in play is incorrect.aloof-angle-91616
07/05/2018, 7:47 PMResolveRequirementsTaskBase
now. why would this resolution error only show up when invoking the pex (as opposed to when building it)?aloof-angle-91616
07/05/2018, 7:48 PMallow_prereleases
on all the time, will figure out how to ensure it's only to resolve just the local distsenough-analyst-54434
07/05/2018, 7:51 PMwhy would this resolution error only show up when invoking the pex (as opposed to when building it)?Agreed. Thinking more.
aloof-angle-91616
07/05/2018, 7:52 PMresolve_requirements()
(and setting the wheel platform), and i don't think that would be different in travisenough-analyst-54434
07/05/2018, 7:53 PMenough-analyst-54434
07/05/2018, 7:54 PMenough-analyst-54434
07/05/2018, 7:54 PMenough-analyst-54434
07/05/2018, 7:54 PMaloof-angle-91616
07/05/2018, 7:55 PM--tag-build
is converted to when making the dist by distutils. i will find that pageenough-analyst-54434
07/05/2018, 7:56 PMenough-analyst-54434
07/05/2018, 7:56 PMaloof-angle-91616
07/05/2018, 7:56 PMenough-analyst-54434
07/05/2018, 8:02 PMaloof-angle-91616
07/05/2018, 8:03 PMenough-analyst-54434
07/05/2018, 8:03 PMaloof-angle-91616
07/05/2018, 8:05 PMaloof-angle-91616
07/05/2018, 8:09 PMaloof-angle-91616
07/05/2018, 8:31 PMenough-analyst-54434
07/05/2018, 8:32 PMhermetic
which scrubs envaloof-angle-91616
07/05/2018, 8:32 PMenough-analyst-54434
07/05/2018, 8:32 PMaloof-angle-91616
07/05/2018, 8:32 PMaloof-angle-91616
07/05/2018, 8:38 PMaloof-angle-91616
07/05/2018, 9:01 PMtest_pants_run
in this log you'll see the pex verbose output: https://api.travis-ci.org/v3/job/400607859/log.txt. one thing i think is fine but want to verify is that the wheel filename ends in -cp27-cp27m-macosx_10_12_x86_64.whl
, but pex is looking for the platform macosx_10_12_x86_64-cp-27-cp27m
-- i'm assuming that's just a matter of display and not identity, but maybe not?aloof-angle-91616
07/05/2018, 9:01 PMaloof-angle-91616
07/05/2018, 9:02 PMaloof-angle-91616
07/05/2018, 9:04 PMpex: Please build pex with the subprocess32 module for more reliable requirement installation and interpreter execution.
-- i'm not seeing this locallyaloof-angle-91616
07/05/2018, 9:05 PMaloof-angle-91616
07/05/2018, 9:06 PMPEX_VERBOSE=5 ./pants -ldebug run examples/src/python/example/python_distribution/hello/fasthello:main
aloof-angle-91616
07/05/2018, 9:06 PMaloof-angle-91616
07/05/2018, 9:14 PMaloof-angle-91616
07/05/2018, 9:15 PMaloof-angle-91616
07/05/2018, 9:23 PMpex: Activating PEX virtual environment from /Users/travis/build/pantsbuild/pants/.pants.d/tmp/tmp75lcmR.pants.d/pyprep/requirements/CPython-2.7.10/24a44c0071b9e805fe7b2172be7b3e498b6f69e1-DefaultFingerprintStrategy_8c9b6e40089d :: Searching dependency cache: /Users/travis/build/pantsbuild/pants/.pants.d/tmp/tmp75lcmR.pants.d/pyprep/requirements/CPython-2.7.10/24a44c0071b9e805fe7b2172be7b3e498b6f69e1-DefaultFingerprintStrategy_8c9b6e40089d/.deps
aloof-angle-91616
07/05/2018, 9:24 PM: 2.0ms
or so at the end of bothaloof-angle-91616
07/05/2018, 9:25 PMpex: Activating PEX virtual environment from /Users/dmcclanahan/tools/pants/.pants.d/pyprep/requirements/CPython-2.7.14/f14bea5cea130765649dd5c2465d9be7af894484-DefaultFingerprintStrategy_8c9b6e40089d: 4.6ms
pex: Searching dependency cache: /Users/dmcclanahan/tools/pants/.pants.d/pyprep/requirements/CPython-2.7.14/f14bea5cea130765649dd5c2465d9be7af894484-DefaultFingerprintStrategy_8c9b6e40089d/.deps: 2.0ms
pex: Adding fasthello 1.0.0+b2746123820ccd47afb2e520476673e3aea8a39a.defaultfingerprintstrategy.da39a3ee5e6b.897870053801: 0.2ms
pex: Resolving fasthello==1.0.0+b2746123820ccd47afb2e520476673e3aea8a39a.defaultfingerprintstrategy.da39a3ee5e6b.897870053801: 0.7ms
pex: Activating fasthello 1.0.0+b2746123820ccd47afb2e520476673e3aea8a39a.defaultfingerprintstrategy.da39a3ee5e6b.897870053801: 0.9ms
pex: Adding sitedir: 0.5ms
pex: Activating PEX virtual environment from /Users/dmcclanahan/tools/pants/.pants.d/pyprep/sources/b416569e036d849d23748fcd2cd6aab6409ccc01-DefaultFingerprintStrategy_4645322e1ea7 pex: Activating PEX virtual environment from /Users/dmcclanahan/tools/pants/.pants.d/pyprep/sources/b416569e036d849d23748fcd2cd6aab6409ccc01-DefaultFingerprintStrategy_4645322e1ea7: 0.6ms
aloof-angle-91616
07/05/2018, 9:42 PM/System/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7
is 2.7.10
on this machine, which lines up (everything else has 2.7.10 in the path names, so that's correct)aloof-angle-91616
07/05/2018, 9:48 PM--plat-name
wants may not be the exact platform name (???), looking at https://stackoverflow.com/questions/35112511/pip-setup-py-bdist-wheel-no-longer-builds-forced-non-pure-wheels#36886459. looking for release notes between 2.7.10 vs 2.7.14 to see if there's a difference in behavior (or i could just try invoking 2.7.10 locally...)aloof-angle-91616
07/05/2018, 9:55 PMwheel
source, the --plat-name
argument is definitely incorrect, so i'll try fixing that and seeing what happensaloof-angle-91616
07/05/2018, 9:55 PMget_platform()
method defined in an adjacent module)enough-analyst-54434
07/05/2018, 10:02 PMenough-analyst-54434
07/05/2018, 10:03 PMaloof-angle-91616
07/05/2018, 10:03 PMaloof-angle-91616
07/05/2018, 10:03 PMenough-analyst-54434
07/05/2018, 10:04 PMenough-analyst-54434
07/05/2018, 10:04 PMenough-analyst-54434
07/05/2018, 10:05 PMenough-analyst-54434
07/05/2018, 10:05 PMaloof-angle-91616
07/05/2018, 10:06 PMaloof-angle-91616
07/05/2018, 10:06 PMaloof-angle-91616
07/05/2018, 10:08 PMaloof-angle-91616
07/05/2018, 10:13 PM_intel.whl
now) so this may be the right trackaloof-angle-91616
07/05/2018, 10:13 PMenough-analyst-54434
07/05/2018, 10:13 PMenough-analyst-54434
07/05/2018, 10:14 PMenough-analyst-54434
07/05/2018, 10:14 PMaloof-angle-91616
07/05/2018, 10:14 PM--pre
was 100% a shot in the darkaloof-angle-91616
07/05/2018, 10:14 PMaloof-angle-91616
07/05/2018, 10:17 PM--plat-name
was almost definitely the first thing to look into, lesson learned. ci up at https://travis-ci.org/pantsbuild/pants/builds/400643859?utm_source=github_status&utm_medium=notificationaloof-angle-91616
07/05/2018, 10:27 PMPlatform
for platform-specific native code stuff, was going to change that anyway and realizing the current naming ambiguity that i wasted time on gives me more impetus to change that name tooenough-analyst-54434
07/05/2018, 10:41 PMpex.environment.Environment
- which is relevant erroring at runtime bit here, logs platform tags it thinks it supports at level 9enough-analyst-54434
07/05/2018, 10:41 PMaloof-angle-91616
07/05/2018, 10:45 PMmacosx_10_13_intel.whl
locally, but the remote version was still showing the old macosx_10_12_x86_64.whl
, so i thought blasting the cache might work (haven't rebuilt since then). pushing the verbosity increase nowenough-analyst-54434
07/05/2018, 10:46 PMenough-analyst-54434
07/05/2018, 10:46 PMaloof-angle-91616
07/05/2018, 10:46 PMenough-analyst-54434
07/05/2018, 10:46 PMenough-analyst-54434
07/05/2018, 10:47 PMaloof-angle-91616
07/05/2018, 10:47 PM_x86_64
before the platform change, now it's intel, yeahenough-analyst-54434
07/05/2018, 10:50 PMenough-analyst-54434
07/05/2018, 10:51 PMaloof-angle-91616
07/05/2018, 10:52 PMaloof-angle-91616
07/05/2018, 11:10 PMaloof-angle-91616
07/05/2018, 11:11 PMaloof-angle-91616
07/05/2018, 11:11 PMaloof-angle-91616
07/05/2018, 11:12 PMaloof-angle-91616
07/05/2018, 11:13 PMaloof-angle-91616
07/05/2018, 11:13 PMaloof-angle-91616
07/05/2018, 11:15 PM-ldebug
to the pants invocation in the test, should have done that earlieraloof-angle-91616
07/05/2018, 11:39 PMtrans
in the stderr), so that seems highly relevant. going to push a commit with debug on to see what the produced wheel file's name is (because it's still looking for _x86_64
in ci)aloof-angle-91616
07/06/2018, 12:28 AMaloof-angle-91616
07/06/2018, 12:29 AMaloof-angle-91616
07/06/2018, 12:29 AMaloof-angle-91616
07/06/2018, 1:06 AMpex.pep425tags.get_platform()
returns it to being _x86_64.whl
, but the same error persists. i'm clearing the caches and rebuilding, i don't expect that to help.aloof-angle-91616
07/06/2018, 1:26 AM