๋๊ตฐ๊ฐ py2exe ๋๋ ์ด์ ์ ์ฌํ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ์ฌ httpie์ฉ msi ํจํค์ง๋ฅผ ๋ง๋ค์ด์ผ ํ๋ค๊ณ ์๊ฐํฉ๋๋ค.
python๊ณผ pip๋ฅผ ์ค์นํ๋ ๊ฒ์ ๊ธฐ๋ณธ์ ์ผ๋ก python์ด ์ค์น๋์ด ์ ๊ณต๋์ง ์๋ Windows์์ httpie๋ฅผ ์ฌ์ฉํ๋ ค๋ ์ฌ๋์๊ฒ๋ ํฐ ๋ฒ๊ฑฐ๋ก์์ ๋๋ค.
Scott Hanselman์ Windows์ ์ค์นํ๋ ๋ฐฉ๋ฒ์ ๋ํ ๋จ๊ณ๋ณ ๊ฐ์ด๋๋ฅผ ์ ๊ณตํฉ๋๋ค.
@mercury2269 ์ด๊ฒ์ ๋ด๊ฐ ์ฌ๊ธฐ์ ๋งํ๋ ์ข ๋ฅ๊ฐ ์๋๋๋ค. ์ฌ๋๋ค์ ํ์ด์ฌ์ ์ค์นํ์ง ์๊ณ ๋ Httpie๋ฅผ ์์ํ๊ณ ์คํํด์ผ ํฉ๋๋ค.
๋ง์ ์ฌ๋๋ค์ด ํ์ด์ฌ ์ฌ์ฉ์๊ฐ ์๋๋ฉฐ Windows์ pip๋ฅผ ์ค์นํ๋ ๊ฒ์ ํ์ด์ฌ ๊ฐ๋ฐ์๋ฅผ ํฌํจํ์ฌ ๋๊ตฌ๋ ๊ฒช์ ์ ์๋ ๋ฒ๊ฑฐ๋ก์์ ๋๋ค.
Twitter์ ๋๊ตฐ๊ฐ๋ Windows์ฉ ๊ด์ฐฎ์ ํจํค์ง ๊ด๋ฆฌ์์ฒ๋ผ ๋ณด์ด๋ Chocolatey ๋ ์ธ๊ธํ์ต๋๋ค. ๊ทธ๋ฌ๋ฉด ์ด ๊ฐ๋จํ ๋ช ๋ น์ ์ฌ์ฉํ์ฌ HTTPie๋ฅผ ์ค์นํ ์ ์์ต๋๋ค.
cinst httpie -source python
๊ทธ๋ฌ๋ ์ฌ์ฉ์๊ฐ ์ค์นํด์ผ ํ๋ฏ๋ก ๋ ๋ฆฝ ์คํํ ์ค์น ํ๋ก๊ทธ๋จ์ด ๋ ์ข์ง ์์๊น์?
ํธ์ง : py2exe ๋ฐ Inno Setup์ ์ฌ์ฉํ์ฌ Windows ์ค์น ํ๋ก๊ทธ๋จ์ ๋ง๋ค๋ ค๊ณ ํฉ๋๋ค.
Python์ ํฌํจํ๋ ๋ ๋ฆฝํ ํจํค์ง๋ก httpie๋ฅผ ํจํค์งํ๋ ๋ ๋ค๋ฅธ ์ต์ ์ PyInstaller ์ ๋๋ค. ๋๋ ๊ทธ๊ฒ์ ์ง์ ์ฌ์ฉํ์ง ์์์ง๋ง ํ๋ก์ ํธ๋ ๋งค์ฐ ํ๋ฐํฉ๋๋ค.
AppVeyor๋ฅผ ์ฌ์ฉํ์ฌ httpie CI์ ์ผ๋ถ๋ก Windows ํจํค์ง๋ฅผ ์์ฑํ๋ ํ๋ก์ธ์ค๋ฅผ ์๋ํํ ์๋ ์์ต๋๋ค.
hpttpie๋ฅผ ์ค์นํ๊ธฐ ์ํด PowerShell ์คํฌ๋ฆฝํธ๋ฅผ ๋ง๋ค๊ณ ์ด๋ฏธ PR์ ํธ์ํ์ต๋๋ค. ์ด ์คํฌ๋ฆฝํธ๋ฅผ ์ฌ์ฉํ์ฌ Windows ์์คํ ์ ์ค์นํด๋ ๋ฉ๋๋ค.
aria2c.exe, curl.exe, wget.exe
์ ๊ฐ์ Windows์ฉ ๋
๋ฆฝ ์คํํ .exe
์์ง ์์ต๋๊น?
์, ์ธํฐ๋ท ์ก์ธ์ค ์์ด Windows ์์คํ ์ httpie๋ฅผ ์ค์นํ๋ ๊ฒ์ ์ ๋ง ๊ณ ํต์ค๋ฌ์ด ์ผ์ด๋ฉฐ ์ด์ ๊ฐ์ ํจํค์ง๋ ์ข์ํ ๊ฒ์ ๋๋ค. ๋ถํํ๋ ๋ด ๊ฐ์ธ ๊ธฐ์ ์ ์์ง ์ค์ค๋ก ๋ง๋ค๊ธฐ์ ์ถฉ๋ถํ์ง ์์ต๋๋ค ...
Windows ํจํค์ง๋ฅผ ์์ฒญํ๋ ๋ฌธ์ ๋ 2012๋ ์ ์์ฑ๋์์ง๋ง ์ง๊ธ์ 2017๋ ์ ์๋ค๋ ๊ฒ์ ์์์ต๋๋ค.
scoop install httpie
๋๋ choco install httpie
๋ฅผ ์ฌ์ฉํ์ฌ Scoop๋ฅผ ํตํด ์ค์นํ๊ณ ์ถ์ต๋๋ค. Python์ด ์ข
์์ฑ์ด๋ฉด ๊ด์ฐฎ์ต๋๋ค.
์ด๊ฒ์ Python ์คํฌ๋ฆฝํธ์ด๋ฉฐ Python์ด ์๊ตฌ ์ฌํญ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค.
๋๋ ๊ธฐ๊บผ์ด Chocolatey์ฉ ํจํค์ง๋ฅผ ์์ฑ/์ ์งํ๊ณ ์ถ์ต๋๋ค. ์ด๊ฒ์ด ์ฌ์ ํ ํ์ํ์ง ์๋ ค์ฃผ์ญ์์ค.
Python 3.7.6 ๋ฐ PyInstaller 3.6์ ์ฌ์ฉํ์ฌ mcr.microsoft.com/windows/servercore:ltsc2019
Docker ์ปจํ
์ด๋ ๋ด๋ถ์ ๋
๋ฆฝ ์คํํ http.exe
๋ฐ์ด๋๋ฆฌ๋ฅผ ์ฑ๊ณต์ ์ผ๋ก ๋น๋ํ ์ ์์์ต๋๋ค. Docker Desktop 2.1.0.5๊ฐ ์ฌ์ฉ๋์์ต๋๋ค.
๋ช ๋ น์ด๋ค์ ๋๋ค...
Docker ์ปจํ ์ด๋ ์ธ๋ถ:
mkdir c:\temp\outside
docker run -t -i --mount type=bind,src=c:\temp\outside,dst=c:\inside -w c:\ mcr.microsoft.com/windows/servercore:ltsc2019
์ด์ Docker ์ปจํ ์ด๋ ๋ด๋ถ์ ์์ต๋๋ค.
curl -L https://aka.ms/nugetclidl -o nuget.exe
set PATH=%PATH%;c:\python\tools;c:\python\tools\scripts;c:\GitForWindows\tools\cmd
nuget install GitForWindows -ExcludeVersion
set PYVER=3.7.6
nuget install python -ExcludeVersion -Version %PYVER% -OutputDirectory .
python -m pip install --no-warn-script-location PyInstaller
python -m pip install pywin32
git clone https://github.com/jakubroztocil/httpie.git
cd httpie
python -m pip install -r requirements-dev.txt
python setup.py build
cd build\lib\httpie
echo sys.exit(main())>> core.py
pyinstaller -F --noupx -n http.exe core.py
cd dist
copy http.exe c:\inside
exit
์ด์ Docker ์ปจํ ์ด๋ ์ธ๋ถ์ ์์ต๋๋ค.
dir c:\temp\outside\http.exe
๊ฒฐ๊ณผ http.exe
์ ํฌ๊ธฐ๋ 11,605,534
์
๋๋ค.
๋๊ตฐ๊ฐ ์ด ์ ์ฐจ๋ฅผ ํ์ธํด ์ฃผ์๊ฒ ์ต๋๊น? ๊ฐ์ฌ ํด์.
ํธ์งํ๋ค:
๋ฏธ๋ฆฌ ๋น๋๋ http.exe ๋ฐ์ด๋๋ฆฌ๋ ๋ค์์์ ๋ค์ด๋ก๋ํ ์ ์์ต๋๋ค.
https://github.com/jftuga/HTTPie-Windows
์ด๊ฒ์ ์ฌ์ฉํ๊ธฐ ์ ์ ๊ฒฝ๊ณ ์น์ ์ ์ฝ์ผ์ญ์์ค.
@jftuga , ์ปดํ์ผ๋ฌ ์์ด ๋จ์ํ Windows ์ฌ์ฉ์์ http.exe
๋ฅผ ๊ณต์ ํ์๊ฒ ์ต๋๊น?
@sergeevabc
https://github.com/jftuga/HTTPie-Windows
์ด๊ฒ์ ์ฌ์ฉํ๊ธฐ ์ ์ ๊ฒฝ๊ณ ์น์ ์ ์ฝ์ผ์ญ์์ค.
@jftuga ๋ ์ต์ํ ๊ธฐ๋ณธ ์์ ์ผ๋ก ์์๋๋ก ์๋ํฉ๋๋ค. ๊ฐ์ฌํฉ๋๋ค.
๋๊ตฌ๋ ์ง Scoop-Python ๋ฒํท์ ํ์ธ ํ์ต๋๊น? ํด๋์ฉ์ด ์๋ ์๋์ด์ ๊ด๋ฆฌ์์ ์ํ ๊ฒ์ ๋๋ค.
scoop bucket add python https://github.com/TheRandomLabs/Scoop-Python.git
scoop install httpie-py
๋ชจ๋ Python ๋ฒ์ ์
๋ฐ์ดํธ(๊ธ๋ก๋ฒ ์ค์น์ ๊ฒฝ์ฐ ๋ชจ๋ ์
๋ฐ์ดํธ, ์ฌ์ฉ์ ์ค์น์ ๊ฒฝ์ฐ ์ฃผ์ ๋ฒ์ ์
๋ฐ์ดํธ) ํ์ ์คํํด์ผ ํ๋ migrate-python-packages
์คํฌ๋ฆฝํธ๊ฐ ์์ต๋๋ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
Twitter์ ๋๊ตฐ๊ฐ๋ Windows์ฉ ๊ด์ฐฎ์ ํจํค์ง ๊ด๋ฆฌ์์ฒ๋ผ ๋ณด์ด๋ Chocolatey ๋ ์ธ๊ธํ์ต๋๋ค. ๊ทธ๋ฌ๋ฉด ์ด ๊ฐ๋จํ ๋ช ๋ น์ ์ฌ์ฉํ์ฌ HTTPie๋ฅผ ์ค์นํ ์ ์์ต๋๋ค.