polite-garden-50641
01/17/2023, 4:17 PMasher@ip-10-1-201-65 ~/projects/toolchain (pants2.16)$ ./pants generate-lockfiles
Bootstrapping Pants using /data/home/asher/.pyenv/versions/3.9.12/bin/python
Installing pantsbuild.pants==2.16.0.dev5 into a virtual environment at /data/home/asher/.cache/pants/setup/bootstrap-Linux-x86_64/2.16.0.dev5_py39
ERROR: Ignored the following versions that require a different python version: 2.12.0.dev2 Requires-Python ==3.7.*
ERROR: Could not find a version that satisfies the requirement pantsbuild.pants==2.16.0.dev5 (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.0, 1.0.1, 1.1.0, 1.2.0, 1.2.1, 1.3.0, 1.4.0, 1.5.0, 1.6.0, 1.7.0, 1.15.0, 1.16.0, 1.17.0, 1.18.0, 1.19.0, 1.20.0, 1.21.0, 1.22.0, 1.23.0, 1.24.0, 1.25.0, 1.26.0, 1.27.0, 1.28.0, 2.5.0, 2.5.1rc5, 2.5.1rc6, 2.5.1, 2.5.2rc0, 2.5.2rc1, 2.5.2rc2, 2.5.2rc3, 2.5.2, 2.6.0rc0, 2.6.0rc1, 2.6.0rc2, 2.6.0rc3, 2.6.0rc4, 2.6.0, 2.6.1rc0, 2.6.1rc1, 2.6.1rc2, 2.6.1rc3, 2.6.1, 2.7.0rc0, 2.7.0rc1, 2.7.0rc2, 2.7.0rc3, 2.7.0rc4, 2.7.0rc5, 2.7.0, 2.7.1rc0, 2.7.1rc1, 2.7.1, 2.7.2rc0, 2.7.2rc1, 2.7.2rc2, 2.7.2, 2.8.0.dev5, 2.8.0rc0, 2.8.0rc1, 2.8.0rc2, 2.8.0rc3, 2.8.0rc4, 2.8.0rc5, 2.8.0rc6, 2.8.0, 2.8.1rc0, 2.8.1rc1, 2.8.1rc2, 2.8.1, 2.9.0.dev0, 2.9.0.dev1, 2.9.0.dev2, 2.9.0.dev3, 2.9.0.dev4, 2.9.0rc0, 2.9.0rc1, 2.9.0rc2, 2.9.0rc3, 2.9.0rc4, 2.9.0rc5, 2.9.0rc6, 2.9.0, 2.9.1rc0, 2.9.1rc1, 2.9.1rc2, 2.9.1, 2.9.2rc0, 2.9.2, 2.10.0.dev0, 2.10.0.dev1, 2.10.0.dev2, 2.10.0.dev3, 2.10.0rc0, 2.10.0rc1, 2.10.0rc2, 2.10.0rc3, 2.10.0rc4, 2.10.0rc5, 2.10.0, 2.10.1rc0, 2.10.1rc1, 2.10.1, 2.11.0.dev0, 2.11.0.dev1, 2.11.0.dev2, 2.11.0.dev3, 2.11.0rc0, 2.11.0rc1, 2.11.0rc2, 2.11.0rc3, 2.11.0rc4, 2.11.0rc5, 2.11.0rc6, 2.11.0, 2.11.1rc0, 2.11.1rc1, 2.11.1rc2, 2.11.1rc3, 2.11.1, 2.12.0.dev0, 2.12.0.dev1, 2.12.0.dev3, 2.12.0a0, 2.12.0rc0, 2.12.0rc1, 2.12.0rc2, 2.12.0rc3, 2.12.0, 2.12.1rc0, 2.12.1rc1, 2.12.1rc2, 2.12.1rc3, 2.12.1rc4, 2.12.1, 2.13.0.dev0, 2.13.0.dev1, 2.13.0.dev2, 2.13.0.dev3, 2.13.0.dev4, 2.13.0.dev5, 2.13.0a0, 2.13.0a1, 2.13.0rc0, 2.13.0rc1, 2.13.0rc2, 2.13.0rc3, 2.13.0, 2.13.1rc0, 2.13.1rc1, 2.13.1rc2, 2.13.1, 2.14.0.dev0, 2.14.0.dev1, 2.14.0.dev2, 2.14.0.dev3, 2.14.0.dev4, 2.14.0.dev5, 2.14.0.dev6, 2.14.0a0, 2.14.0a1, 2.14.0rc0, 2.14.0rc1, 2.14.0rc2, 2.14.0rc3, 2.14.0rc4, 2.14.0rc5, 2.14.0, 2.14.1rc0, 2.14.1, 2.15.0.dev0, 2.15.0.dev1, 2.15.0.dev2, 2.15.0.dev3, 2.15.0.dev4, 2.15.0.dev5, 2.15.0a0, 2.15.0a1, 2.15.0rc0, 2.15.0rc1, 2.16.0.dev0, 2.16.0.dev1, 2.16.0.dev2, 2.16.0.dev3, 2.16.0.dev4)
ERROR: No matching distribution found for pantsbuild.pants==2.16.0.dev5
asher@ip-10-1-201-65 ~/projects/toolchain (pants2.16)$ pyenv versions
system
3.6.10
3.7.10
3.8.2
3.8.5
3.8.6
3.8.9
3.8.12
3.9.4
* 3.9.12 (set by /data/home/asher/.pyenv/version)
high-yak-85899
01/17/2023, 4:18 PMpolite-garden-50641
01/17/2023, 4:19 PMhigh-yak-85899
01/17/2023, 4:22 PMpolite-garden-50641
01/17/2023, 4:25 PMhappy-kitchen-89482
01/17/2023, 4:28 PMhappy-kitchen-89482
01/17/2023, 4:28 PMglamorous-cpu-22971
01/17/2023, 4:29 PMglamorous-cpu-22971
01/17/2023, 4:30 PMglamorous-cpu-22971
01/17/2023, 4:31 PMglamorous-cpu-22971
01/17/2023, 4:33 PMpolite-garden-50641
01/17/2023, 4:36 PMrequirements.txt
and when creating deploy-able targets (like wheels, pex files, etc...) pants will only include the needed deps. (because of dep inference).
This is not how most stuff works in the python eco-system, since in a lot of projects you have multiple reqs files trying to manage the different things that needed to be done with each (generating docs, tests, linters, etc...) it is a PITA to manage those and Pants makes it so much easier.
one reqs file for the entire repo and pants only takes the actual things that are needed from the file.glamorous-cpu-22971
01/17/2023, 4:37 PMglamorous-cpu-22971
01/17/2023, 4:38 PMpants
2.14 does seem to bundle in pytest
at version 7.0.1 to run the tests, it’s not possible to reference this bundled version when you’re explicitly doing import pytest
inside your test sources (we’re doing it to import an assertion or something)glamorous-cpu-22971
01/17/2023, 4:39 PMpytest
if you use it in your test sources.polite-garden-50641
01/17/2023, 4:39 PMpolite-garden-50641
01/17/2023, 4:42 PMimport pytest
does if you need a specific version pytest (since you need specific APIs) you may need to also specify that version under the pytest options here: https://www.pantsbuild.org/docs/reference-pytest#versionpolite-garden-50641
01/17/2023, 4:43 PMglamorous-cpu-22971
01/17/2023, 4:43 PMdependencies
field of my python_tests
target.glamorous-cpu-22971
01/17/2023, 4:44 PMpolite-garden-50641
01/17/2023, 4:44 PMglamorous-cpu-22971
01/17/2023, 4:45 PMimport
is getting resolved successfully when the tests run - my type checker is complaining, that’s the issue.glamorous-cpu-22971
01/17/2023, 4:45 PMimport
statement with no corresponding dependency in the graph (or I assume that’s whats happening)polite-garden-50641
01/17/2023, 4:45 PM./pants dependencies
does pants see the pytest dep ?polite-garden-50641
01/17/2023, 4:46 PMglamorous-cpu-22971
01/17/2023, 4:46 PMglamorous-cpu-22971
01/17/2023, 4:46 PMpolite-garden-50641
01/17/2023, 4:47 PMpolite-garden-50641
01/17/2023, 4:47 PMglamorous-cpu-22971
01/17/2023, 4:48 PM