httpie / cli

🥧 HTTPie CLI — modern, user-friendly command-line HTTP client for the API era. JSON support, colors, sessions, downloads, plugins & more.
https://httpie.io
BSD 3-Clause "New" or "Revised" License
32.67k stars 3.68k forks source link

Installation using chocolatey fails installing to system Python environment #1580

Open jaraco opened 1 month ago

jaraco commented 1 month ago

Checklist


Minimal reproduction code and steps

  1. Install Chocolatey and Python 3.13
  2. run choco install httpie

Current result

 ~ # choco install httpie
Chocolatey v2.2.2
Installing the following packages:
httpie
By installing, you accept licenses for the packages.
Progress: Downloading httpie 3.2.2... 100%

httpie v3.2.2 [Approved]
httpie package files install completed. Performing other installation steps.
Collecting httpie==3.2.2
  Using cached httpie-3.2.2-py3-none-any.whl.metadata (7.6 kB)
Requirement already satisfied: pip in c:\program files\python 3.13\lib\site-packages (from httpie==3.2.2) (24.0)
Collecting charset-normalizer>=2.0.0 (from httpie==3.2.2)
  Downloading charset_normalizer-3.3.2-py3-none-any.whl.metadata (33 kB)
Collecting defusedxml>=0.6.0 (from httpie==3.2.2)
  Using cached defusedxml-0.7.1-py2.py3-none-any.whl.metadata (32 kB)
Collecting requests>=2.22.0 (from requests[socks]>=2.22.0->httpie==3.2.2)
  Using cached requests-2.32.3-py3-none-any.whl.metadata (4.6 kB)
Collecting Pygments>=2.5.2 (from httpie==3.2.2)
  Using cached pygments-2.18.0-py3-none-any.whl.metadata (2.5 kB)
Collecting requests-toolbelt>=0.9.1 (from httpie==3.2.2)
  Using cached requests_toolbelt-1.0.0-py2.py3-none-any.whl.metadata (14 kB)
Collecting multidict>=4.7.0 (from httpie==3.2.2)
  Downloading multidict-6.0.5-py3-none-any.whl.metadata (4.2 kB)
Collecting setuptools (from httpie==3.2.2)
  Using cached setuptools-70.0.0-py3-none-any.whl.metadata (5.9 kB)
Collecting rich>=9.10.0 (from httpie==3.2.2)
  Using cached rich-13.7.1-py3-none-any.whl.metadata (18 kB)
Collecting colorama>=0.2.4 (from httpie==3.2.2)
  Using cached colorama-0.4.6-py2.py3-none-any.whl.metadata (17 kB)
Collecting idna<4,>=2.5 (from requests>=2.22.0->requests[socks]>=2.22.0->httpie==3.2.2)
  Using cached idna-3.7-py3-none-any.whl.metadata (9.9 kB)
Collecting urllib3<3,>=1.21.1 (from requests>=2.22.0->requests[socks]>=2.22.0->httpie==3.2.2)
  Using cached urllib3-2.2.1-py3-none-any.whl.metadata (6.4 kB)
Collecting certifi>=2017.4.17 (from requests>=2.22.0->requests[socks]>=2.22.0->httpie==3.2.2)
  Using cached certifi-2024.2.2-py3-none-any.whl.metadata (2.2 kB)
Collecting PySocks!=1.5.7,>=1.5.6 (from requests[socks]>=2.22.0->httpie==3.2.2)
  Using cached PySocks-1.7.1-py3-none-any.whl.metadata (13 kB)
Collecting markdown-it-py>=2.2.0 (from rich>=9.10.0->httpie==3.2.2)
  Using cached markdown_it_py-3.0.0-py3-none-any.whl.metadata (6.9 kB)
Collecting mdurl~=0.1 (from markdown-it-py>=2.2.0->rich>=9.10.0->httpie==3.2.2)
  Using cached mdurl-0.1.2-py3-none-any.whl.metadata (1.6 kB)
Using cached httpie-3.2.2-py3-none-any.whl (127 kB)
Downloading charset_normalizer-3.3.2-py3-none-any.whl (48 kB)
   ---------------------------------------- 48.5/48.5 kB 1.1 MB/s eta 0:00:00
Using cached colorama-0.4.6-py2.py3-none-any.whl (25 kB)
Using cached defusedxml-0.7.1-py2.py3-none-any.whl (25 kB)
Downloading multidict-6.0.5-py3-none-any.whl (9.7 kB)
Using cached pygments-2.18.0-py3-none-any.whl (1.2 MB)
Using cached requests-2.32.3-py3-none-any.whl (64 kB)
Using cached requests_toolbelt-1.0.0-py2.py3-none-any.whl (54 kB)
Using cached rich-13.7.1-py3-none-any.whl (240 kB)
Using cached setuptools-70.0.0-py3-none-any.whl (863 kB)
Using cached certifi-2024.2.2-py3-none-any.whl (163 kB)
Using cached idna-3.7-py3-none-any.whl (66 kB)
Using cached markdown_it_py-3.0.0-py3-none-any.whl (87 kB)
Using cached PySocks-1.7.1-py3-none-any.whl (16 kB)
Using cached urllib3-2.2.1-py3-none-any.whl (121 kB)
Using cached mdurl-0.1.2-py3-none-any.whl (10.0 kB)
Installing collected packages: urllib3, setuptools, PySocks, Pygments, multidict, mdurl, idna, defusedxml, colorama, charset-normalizer, certifi, requests, markdown-it-py, rich, requests-toolbelt, httpie
ERROR: The running command stopped because the preference variable "ErrorActionPreference" or common parameter is set to Stop:   WARNING: The script pygmentize.exe is installed in 'C:\Program Files\Python 3.13\Scripts' which is not on PATH.
The install of httpie was NOT successful.
Error while running 'C:\ProgramData\chocolatey\lib\httpie\tools\chocolateyinstall.ps1'.
 See log for details.

Chocolatey installed 0/1 packages. 1 packages failed.
 See the log for details (C:\ProgramData\chocolatey\logs\chocolatey.log).

Failures
 - httpie (exited -1) - Error while running 'C:\ProgramData\chocolatey\lib\httpie\tools\chocolateyinstall.ps1'.
 See log for details.

Expected result

The package should install to a virtualenv and not be impacted by the presence of another Python interpreter. It should not attempt to install anything to a standalone install of Python. It should not be using a pre-release version of Python.


Additional information, screenshots, or code examples

Python 3.12 and 3.11 are installed using chocolatey:

 ~ # choco list
Chocolatey v2.2.2
chocolatey 2.2.2
chocolatey-compatibility.extension 1.0.0
chocolatey-core.extension 1.4.0
chocolatey-windowsupdate.extension 1.0.5
git 2.43.0
git.install 2.43.0
hyper 3.4.1
KB2919355 1.0.20160915
KB2919442 1.0.20160915
KB2999226 1.0.20181019
KB3033929 1.0.5
KB3035131 1.0.3
python 3.12.2
python3 3.12.2
python311 3.11.8
python312 3.12.2
rust 1.78.0
vcredist140 14.38.33135
vcredist2015 14.0.24215.20170201
19 packages installed.

The failed install left several packages improperly installed in Python 3.13:

 ~ # py -3.13 -m pip list
Package    Version
---------- -------
pip        24.0
Pygments   2.18.0
PySocks    1.7.1
setuptools 70.0.0
urllib3    2.2.1

I'm using Chocolatey, as that's the recommended install method and when I tried to install using pipx, I couldn't access HTTPS sites.