brash-glass-61350
01/28/2025, 3:33 PM[python-repos]
find_links = [
"<https://download.pytorch.org/whl/torch_stable.html>",
]
indexes = [
"<https://pypi.org/simple/>",
"<https://PRODUCT_KEY@download.prodi.gy>"
]
The above is part of my pants.toml
. This is because of a paid python package we rely on. In our requirements.txt
, we have a prodigy>=1.17.3
dependency.
This worked fine until we updated pants to 2.22
. We moved from pants 2.20
because of a bug with having python 3.13 installed in our system. However, every time we need to update the lockfiles, we have to 1) downgrade pants, 2) generate lockfiles, 3) update pants again.
The error we get with pants 2.22
is:
ERROR: HTTP error 403 while getting <https://s3.eu-west-1.amazonaws.com/xplsn-pypi-eu-west-1.prodi.gy/dist/prodigy-1.17.4-py3-none-any.whl?X-Amz->....
Does anyone know why this is happening and how to fix it?curved-manchester-66006
01/28/2025, 5:36 PM2.23
or 2.24.0rc3
?brash-glass-61350
01/28/2025, 5:37 PM2.23
. Something didn't build, I forget what now. I'll try 2.24.0rc3brash-glass-61350
02/12/2025, 6:13 PMpip: raise ReadTimeoutError(self._pool, None, "Read timed out.")
pip: pip._vendor.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host='<http://s3.eu-west-1.amazonaws.com|s3.eu-west-1.amazonaws.com>', port=443): Read timed out.
Right now we're stuck on 2.20
, but that version has problems too. Running pants fmt ::
fails if python 3.13 is installed on the system (which brew does automatically)gorgeous-winter-99296
02/12/2025, 7:29 PMgorgeous-winter-99296
02/12/2025, 7:31 PMhappy-kitchen-89482
02/12/2025, 8:04 PMhappy-kitchen-89482
02/12/2025, 8:05 PMhappy-kitchen-89482
02/12/2025, 8:05 PMhappy-kitchen-89482
02/12/2025, 8:06 PM403
on 2.22 and a timeout on 2.24?brash-glass-61350
02/12/2025, 8:09 PMpants fmt ::
05:21:54.72 [INFO] Initializing scheduler...
05:21:54.73 [INFO] Initializing Nailgun pool for 32 processes...
05:21:56.54 [INFO] Scheduler initialized.
05:21:58.11 [ERROR] 1 Exception encountered:
Engine traceback:
in `fmt` goal
ProcessExecutionFailure: Process 'Find interpreter for constraints: CPython<4,>=3.7' failed with exit code 1.
stdout:
stderr:
No supported version of Pip is compatible with the given targets:
cp310-cp310-macosx_15_0_arm64 interpreter at /Users/arielsalem/.pyenv/versions/3.10.12/bin/python3.10
cp311-cp311-macosx_15_0_arm64 interpreter at /Library/Frameworks/Python.framework/Versions/3.11/bin/python3.11
cp313-cp313-macosx_15_0_arm64 interpreter at /opt/homebrew/Cellar/python@3.13/3.13.1/Frameworks/Python.framework/Versions/3.13/bin/python3.13
cp39-cp39-macosx_15_0_arm64 interpreter at /Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/bin/python3.9
We have interpreter_constraints = ["==3.10.12"]
in our pants.toml
. 3.10.12
is installed in the system. Running brew uninstall python@3.13
fixes this errorbrash-glass-61350
02/12/2025, 8:15 PM2.20
.
Answering @gorgeous-winter-99296 this command works
pip install -r requirements.txt --extra-index-url <https://PRODUCT_KEY@download.prodi.gy>
My pants.toml has the below:
indexes = [
"<https://pypi.org/simple/>",
"<https://PRODUCT_KEY@download.prodi.gy>"
]
gorgeous-winter-99296
02/12/2025, 8:16 PMpex3 lock create -r requirements.txt --extra-index-url <https://PRODUCT_KEY@download.prodi.gy>
should be equivalenthappy-kitchen-89482
02/12/2025, 8:29 PMhappy-kitchen-89482
02/12/2025, 8:29 PMbrash-glass-61350
02/13/2025, 9:13 AMgorgeous-winter-99296
02/13/2025, 9:20 AM-ldebug
you should see the pex command in the logs, probably multiple pex invocations in sequence.gorgeous-winter-99296
02/13/2025, 9:21 AM--keep-sandboxes=on_failure
(or =always
) and look in the sandbox script, which you can also edit and rerun manually.happy-kitchen-89482
02/13/2025, 4:23 PMhappy-kitchen-89482
02/13/2025, 4:23 PMcurved-manchester-66006
02/13/2025, 4:58 PMBut this is an unfortunate footgun that we should fixBy not having default interpreter constraints? Different ones? Or something else?
happy-kitchen-89482
02/13/2025, 6:50 PMbrash-glass-61350
02/17/2025, 9:50 AM-ldebug
shows that the flag passed to pex is --index=<https://PRODUCT_KEYC@download.prodi.gy>
. Is there a way to make this become --extra-index-url
?
@happy-kitchen-89482: I will try tool lockfiles todaygorgeous-winter-99296
02/17/2025, 9:52 AM-i URL, --index URL, --index-url URL
Additional cheeseshop indices to use to satisfy
requirements. (default: None)
brash-glass-61350
02/17/2025, 9:55 AMbrash-glass-61350
02/17/2025, 11:42 AM2.20.0
and creating tool lockfiles solved the problem. Thank you so much!