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

polite-garden-50641

05/05/2020, 1:01 AM
Seeing this on a linux machine:
Copy code
Collecting pantsbuild.pants==1.28.0.dev1 (from -r /dev/fd/63 (line 36))
  ERROR: Could not find a version that satisfies the requirement pantsbuild.pants==1.28.0.dev1 (from -r /dev/fd/63 (line 36)) (from versions: 0.0.17, 0.0.18, 0.0.20, 0.0.21, 0.0.22, 0.0.23, 0.0.24, 0.0.25, 0.0.26, 0.0.27, 0.0.28, 0.0.29, 0.0.30, 0.0.31, 0.0.32, 0.0.33, 0.0.34, 0.0.35, 0.0.36, 0.0.37, 0.0.38, 0.0.39, 0.0.40, 0.0.41, 0.0.42, 0.0.43, 0.0.44, 0.0.45, 0.0.46, 0.0.47, 0.0.48, 0.0.49, 0.0.50, 0.0.51, 0.0.52, 0.0.53, 0.0.54, 0.0.55, 0.0.56, 0.0.57, 0.0.58, 0.0.59, 0.0.60, 0.0.61, 0.0.62, 0.0.63, 0.0.64, 0.0.65, 0.0.66, 0.0.67, 0.0.68, 0.0.69, 0.0.70, 0.0.71, 0.0.72, 0.0.73, 0.0.74, 0.0.75, 0.0.76, 0.0.77, 0.0.79, 0.0.80, 0.0.81, 0.0.82, 1.0.0rc1, 1.0.0rc2, 1.0.0rc3, 1.0.0, 1.0.1rc0, 1.0.1, 1.1.0rc0, 1.1.0rc1, 1.1.0rc2, 1.1.0rc3, 1.1.0rc4, 1.1.0rc5, 1.1.0rc6, 1.1.0rc7, 1.1.0rc8, 1.1.0rc9, 1.1.0, 1.2.0.dev0, 1.2.0.dev1, 1.2.0.dev2, 1.2.0.dev3, 1.2.0.dev4, 1.2.0.dev5, 1.2.0.dev6, 1.2.0.dev8, 1.2.0.dev9, 1.2.0.dev10, 1.2.0.dev11, 1.2.0.dev12, 1.2.0rc0, 1.2.0rc1, 1.2.0rc2, 1.2.0rc3, 1.2.0rc4, 1.2.0, 1.2.1rc0, 1.2.1, 1.3.0.dev0, 1.3.0.dev1, 1.3.0.dev2, 1.3.0.dev3, 1.3.0.dev4, 1.3.0.dev5, 1.3.0.dev6, 1.3.0.dev7, 1.3.0.dev8, 1.3.0.dev9, 1.3.0.dev10, 1.3.0.dev11, 1.3.0.dev12, 1.3.0.dev13, 1.3.0.dev14, 1.3.0.dev15, 1.3.0.dev16, 1.3.0.dev17, 1.3.0.dev18, 1.3.0.dev19, 1.3.0rc0, 1.3.0rc1, 1.3.0rc2, 1.3.0rc3, 1.3.0rc4, 1.3.0, 1.3.1rc0, 1.3.1rc1, 1.3.1rc2, 1.4.0.dev0, 1.4.0.dev1, 1.4.0.dev3, 1.4.0.dev4, 1.4.0.dev5, 1.4.0.dev6, 1.4.0.dev7, 1.4.0.dev8, 1.4.0.dev9, 1.4.0.dev10, 1.4.0.dev11, 1.4.0.dev13, 1.4.0.dev14, 1.4.0.dev15, 1.4.0.dev16, 1.4.0.dev17, 1.4.0.dev18, 1.4.0.dev19, 1.4.0.dev20, 1.4.0.dev22, 1.4.0.dev23, 1.4.0.dev24, 1.4.0.dev25, 1.4.0.dev26, 1.4.0.dev27, 1.4.0rc0, 1.4.0rc1, 1.4.0rc2, 1.4.0rc3, 1.4.0rc4, 1.4.0rc5, 1.4.0, 1.5.0.dev0, 1.5.0.dev1, 1.5.0.dev2, 1.5.0.dev3, 1.5.0.dev4, 1.5.0.dev5, 1.5.0rc0, 1.5.0rc1, 1.5.0, 1.5.1rc0, 1.5.1rc1, 1.5.1rc2, 1.6.0.dev0, 1.6.0.dev1, 1.6.0.dev2, 1.6.0rc0, 1.6.0rc1, 1.6.0rc2, 1.6.0rc3, 1.6.0, 1.7.0.dev0, 1.7.0.dev1, 1.7.0.dev2, 1.7.0rc0, 1.7.0rc1, 1.7.0, 1.8.0.dev0, 1.8.0.dev1, 1.8.0.dev2, 1.15.0.dev4, 1.15.0rc0, 1.15.0rc1, 1.15.0rc2, 1.15.0rc3, 1.15.0, 1.16.0.dev0, 1.16.0.dev1, 1.16.0.dev2, 1.16.0.dev3, 1.16.0.dev4, 1.16.0rc0, 1.16.0rc2, 1.16.0rc5, 1.16.0rc6, 1.16.0, 1.17.0.dev0, 1.17.0.dev1, 1.17.0rc0, 1.17.0rc1, 1.17.0rc2, 1.17.0, 1.18.0.dev0, 1.18.0.dev1, 1.18.0.dev2, 1.18.0rc0, 1.18.0rc1, 1.18.0, 1.19.0.dev0, 1.19.0rc0, 1.19.0rc1, 1.19.0, 1.20.0.dev0, 1.20.0.dev1, 1.20.0.dev2, 1.20.0rc0, 1.20.0rc1, 1.20.0rc2, 1.20.0, 1.21.0.dev0, 1.21.0.dev1, 1.21.0rc0, 1.21.0, 1.22.0.dev0, 1.22.0.dev1, 1.22.0.dev2, 1.22.0rc0, 1.22.0rc1, 1.22.0rc2, 1.22.0, 1.23.0.dev0, 1.23.0.dev1, 1.23.0.dev2, 1.23.0rc0, 1.23.0, 1.24.0.dev1, 1.24.0.dev2, 1.24.0.dev3, 1.24.0rc0, 1.24.0rc1, 1.24.0rc2, 1.24.0, 1.24.1rc0, 1.25.0.dev0, 1.25.0.dev1, 1.25.0.dev2, 1.25.0.dev3, 1.25.0rc0, 1.25.0rc1, 1.25.0, 1.26.0.dev0, 1.26.0.dev1, 1.26.0.dev2, 1.26.0rc0, 1.26.0rc1, 1.26.0rc2, 1.26.0, 1.27.0.dev0, 1.27.0.dev1, 1.27.0.dev2, 1.27.0.dev3, 1.27.0rc0, 1.28.0.dev0)
ERROR: No matching distribution found for pantsbuild.pants==1.28.0.dev1 (from -r /dev/fd/63 (line 36))
Any idea what I am doing wrong?
h

hundreds-father-404

05/05/2020, 1:04 AM
What linux server? 1.28.0.dev1 is manylinux2014, whereas we (falsely) claimed manylinux1 before
p

polite-garden-50641

05/05/2020, 1:04 AM
Linux ip-10-1-201-194 4.15.0-1065-aws #69-Ubuntu SMP Thu Mar 26 02:17:29 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
h

hundreds-father-404

05/05/2020, 1:05 AM
Are you able to find the Ubuntu version number, please?
p

polite-garden-50641

05/05/2020, 1:05 AM
it is an ubuntu 1804 machine on AWS Ec2
h

hundreds-father-404

05/05/2020, 1:05 AM
Oh. Huh, I would think Ubuntu 18.04 would be compatible with manylinux2014..something seems off
p

polite-garden-50641

05/05/2020, 1:05 AM
Screen Shot 2020-05-04 at 6.05.45 PM.png
๐Ÿ‘ 1
h

hundreds-father-404

05/05/2020, 1:07 AM
In Pants CI, weโ€™re using Ubuntu 16.04 to run Pants, so there might be something else going on than the Ubuntu version. cc @enough-analyst-54434. Iโ€™m not sure if you say we changed to manylinux2014? We did this because we now build with Centos7 instead of Centos6. Any ideas what this could be?
p

polite-garden-50641

05/05/2020, 1:10 AM
we should also run on newer versions of ubuntu of possible, i.e. 18.04 and the just release 20.04
h

hundreds-father-404

05/05/2020, 1:19 AM
Yes, but Pants needs to support 16.04 and 18.04. (Weโ€™re fine not supporting 14.04 because itโ€™s been EOL for some time.)
e

enough-analyst-54434

05/05/2020, 1:25 AM
To see what python / Pex thinks about your machine:
Copy code
$ find ~/.pex/ -name INTERP-INFO | head -1 | xargs jq .supported_tags[0]
[
  "cp37",
  "cp37m",
  "manylinux2014_x86_64"
]
๐Ÿ’ฏ 1
So it thinks my machine is manylinux 2014 compliant.
@polite-garden-50641 I get similar using the stock ubuntu:18.04 image after installing python3.8{,-venv}:
Copy code
(test-3.8) root@db8e10a75e2d:/# pip install pantsbuild.pants==1.28.0.dev1
Collecting pantsbuild.pants==1.28.0.dev1
  Cache entry deserialization failed, entry ignored
  Could not find a version that satisfies the requirement pantsbuild.pants==1.28.0.dev1 (from versions: 0.0.17, 0.0.18, 0.0.20, 0.0.21, 0.0.22, 0.0.23, 0.0.24, 0.0.25, 0.0.26, 0.0.27, 0.0.28, 0.0.29, 0.0.30, 0.0.31, 0.0.32, 0.0.33, 0.0.34, 0.0.35, 0.0.36, 0.0.37, 0.0.38, 0.0.39, 0.0.40, 0.0.41, 0.0.42, 0.0.43, 0.0.44, 0.0.45, 0.0.46, 0.0.47, 0.0.48, 0.0.49, 0.0.50, 0.0.51, 0.0.52, 0.0.53, 0.0.54, 0.0.55, 0.0.56, 0.0.57, 0.0.58, 0.0.59, 0.0.60, 0.0.61, 0.0.62, 0.0.63, 0.0.64, 0.0.65, 0.0.66, 0.0.67, 0.0.68, 0.0.69, 0.0.70, 0.0.71, 0.0.72, 0.0.73, 0.0.74, 0.0.75, 0.0.76, 0.0.77, 0.0.79, 0.0.80, 0.0.81, 0.0.82, 1.0.0rc1, 1.0.0rc2, 1.0.0rc3, 1.0.0, 1.0.1rc0, 1.0.1, 1.1.0rc0, 1.1.0rc1, 1.1.0rc2, 1.1.0rc3, 1.1.0rc4, 1.1.0rc5, 1.1.0rc6, 1.1.0rc7, 1.1.0rc8, 1.1.0rc9, 1.1.0, 1.2.0.dev0, 1.2.0.dev1, 1.2.0.dev2, 1.2.0.dev3, 1.2.0.dev4, 1.2.0.dev5, 1.2.0.dev6, 1.2.0.dev8, 1.2.0.dev9, 1.2.0.dev10, 1.2.0.dev11, 1.2.0.dev12, 1.2.0rc0, 1.2.0rc1, 1.2.0rc2, 1.2.0rc3, 1.2.0rc4, 1.2.0, 1.2.1rc0, 1.2.1, 1.3.0.dev0, 1.3.0.dev1, 1.3.0.dev2, 1.3.0.dev3, 1.3.0.dev4, 1.3.0.dev5, 1.3.0.dev6, 1.3.0.dev7, 1.3.0.dev8, 1.3.0.dev9, 1.3.0.dev10, 1.3.0.dev11, 1.3.0.dev12, 1.3.0.dev13, 1.3.0.dev14, 1.3.0.dev15, 1.3.0.dev16, 1.3.0.dev17, 1.3.0.dev18, 1.3.0.dev19, 1.3.0rc0, 1.3.0rc1, 1.3.0rc2, 1.3.0rc3, 1.3.0rc4, 1.3.0, 1.3.1rc0, 1.3.1rc1, 1.3.1rc2, 1.4.0.dev0, 1.4.0.dev1, 1.4.0.dev3, 1.4.0.dev4, 1.4.0.dev5, 1.4.0.dev6, 1.4.0.dev7, 1.4.0.dev8, 1.4.0.dev9, 1.4.0.dev10, 1.4.0.dev11, 1.4.0.dev13, 1.4.0.dev14, 1.4.0.dev15, 1.4.0.dev16, 1.4.0.dev17, 1.4.0.dev18, 1.4.0.dev19, 1.4.0.dev20, 1.4.0.dev22, 1.4.0.dev23, 1.4.0.dev24, 1.4.0.dev25, 1.4.0.dev26, 1.4.0.dev27, 1.4.0rc0, 1.4.0rc1, 1.4.0rc2, 1.4.0rc3, 1.4.0rc4, 1.4.0rc5, 1.4.0, 1.5.0.dev0, 1.5.0.dev1, 1.5.0.dev2, 1.5.0.dev3, 1.5.0.dev4, 1.5.0.dev5, 1.5.0rc0, 1.5.0rc1, 1.5.0, 1.5.1rc0, 1.5.1rc1, 1.5.1rc2, 1.6.0.dev0, 1.6.0.dev1, 1.6.0.dev2, 1.6.0rc0, 1.6.0rc1, 1.6.0rc2, 1.6.0rc3, 1.6.0, 1.7.0.dev0, 1.7.0.dev1, 1.7.0.dev2, 1.7.0rc0, 1.7.0rc1, 1.7.0, 1.8.0.dev0, 1.8.0.dev1, 1.8.0.dev2, 1.15.0.dev4, 1.15.0rc0, 1.15.0rc1, 1.15.0rc2, 1.15.0rc3, 1.15.0, 1.16.0.dev0, 1.16.0.dev1, 1.16.0.dev2, 1.16.0.dev3, 1.16.0.dev4, 1.16.0rc0, 1.16.0rc2, 1.16.0rc5, 1.16.0rc6, 1.16.0, 1.17.0.dev0, 1.17.0.dev1, 1.17.0rc0, 1.17.0rc1, 1.17.0rc2, 1.17.0, 1.18.0.dev0, 1.18.0.dev1, 1.18.0.dev2, 1.18.0rc0, 1.18.0rc1, 1.18.0, 1.19.0.dev0, 1.19.0rc0, 1.19.0rc1, 1.19.0, 1.20.0.dev0, 1.20.0.dev1, 1.20.0.dev2, 1.20.0rc0, 1.20.0rc1, 1.20.0rc2, 1.20.0, 1.21.0.dev0, 1.21.0.dev1, 1.21.0rc0, 1.21.0, 1.22.0.dev0, 1.22.0.dev1, 1.22.0.dev2, 1.22.0rc0, 1.22.0rc1, 1.22.0rc2, 1.22.0, 1.23.0.dev0, 1.23.0.dev1, 1.23.0.dev2, 1.23.0rc0, 1.23.0, 1.24.0.dev1, 1.24.0.dev2, 1.24.0.dev3, 1.24.0rc0, 1.24.0rc1, 1.24.0rc2, 1.24.0, 1.24.1rc0, 1.25.0.dev0, 1.25.0.dev1, 1.25.0.dev2, 1.25.0.dev3, 1.25.0rc0, 1.25.0rc1, 1.25.0, 1.26.0.dev0, 1.26.0.dev1, 1.26.0.dev2, 1.26.0rc0, 1.26.0rc1, 1.26.0rc2, 1.26.0, 1.27.0.dev0, 1.27.0.dev1, 1.27.0.dev2, 1.27.0.dev3, 1.27.0rc0, 1.28.0.dev0)
No matching distribution found for pantsbuild.pants==1.28.0.dev1
(test-3.8) root@db8e10a75e2d:/# pip --version
pip 9.0.1 from /test-3.8/lib/python3.8/site-packages (python 3.8)
If I pip install -U pip and retry - it resolves the pantsbuild.pants wheel and then fails further down the line just because the image is missing stuff needed by pywatchman.
Pex gets here out of the box though since it embeds a modern pip.
And - fwiw, the jq check abouve on ubuntu:18.04 confirms Python thinks it is manylinux2014 compliant.
h

hundreds-father-404

05/05/2020, 3:08 AM
Oh, so do you think this is might be related to the recent pywatchman changes, perhaps, rather than changing to manylinux2014?
e

enough-analyst-54434

05/05/2020, 3:30 AM
I doubt it. I think the problem is the pip version is old. My repro-ish above was probably buried, but the stock ubuntu:18.04 image python3.8 carries pip ~9 and modern pip is ~20.
๐Ÿ‘ 2
p

polite-garden-50641

05/05/2020, 4:55 PM
how do I upgrade the pip version pants uses?
e

enough-analyst-54434

05/05/2020, 5:08 PM
The pants script allows passing VENV_VERSION: https://github.com/pantsbuild/setup/blob/gh-pages/pants#L21 Newer virtualenv bundles newer pip, so this would nominally do it. I tried just now though and virtualenv latest (20.020) has a different tarball structure than what the pants scrpt expects ๐Ÿ˜• So ... the answer is you'll need to hand hack your pants script and later replace it with a repaired pantsbuild/setup version of the script that either gets virtualenv differently or simply always runs pip -U pip as a 1st step in creating the pants venv.
Oh wait, the script already auto-upgrades pip.
๐Ÿ‘ 1
Can you be more explicit about the error you posted above - maybe show the full command line and add other context? Is this what you get when running
./pants ...
for the 1st time on ubuntu 18.04?
p

polite-garden-50641

05/05/2020, 5:15 PM
so what fails is not pants itself... sorry for the confusion. we fail to install pants as part of a VE install:
pip install --no-cache-dir -r <(./pants --no-enable-pantsd dependencies  --type=3rdparty --transitive 3rdparty/python::) >&2
e

enough-analyst-54434

05/05/2020, 5:15 PM
What does pip --version say?
As per above - if its old - my repro found ~9 for stock ubuntu:18.04, you must run
pip install -U pip
๐Ÿ‘ 1
p

polite-garden-50641

05/05/2020, 5:19 PM
Got it. that fixes the issue. thanks!
๐ŸŽ‰ 1