Httpie: BREW ์„ค์น˜ ๋ฒ„์ „์ด ํ”Œ๋Ÿฌ๊ทธ์ธ์—์„œ ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์— ๋งŒ๋“  2017๋…„ 03์›” 08์ผ  ยท  5์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: httpie/httpie

Brew๋Š” macOS์— httpie๋ฅผ ์„ค์น˜ํ•˜๋Š” ๊ถŒ์žฅ ๋ฐฉ๋ฒ•์œผ๋กœ ๋‚˜์—ด๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ธ์ฆ ํ”Œ๋Ÿฌ๊ทธ์ธ์—์„œ๋Š” ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด pip3 install requests-hawk ๋‹ค์Œ ์‹คํ–‰ํ•˜๋ฉด http --help hawk๊ฐ€ ์ธ์ฆ ์œ ํ˜•์œผ๋กœ ํ‘œ์‹œ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. pip3 install httpie-oauth ๊ฒฝ์šฐ pip๋ฅผ ํ†ตํ•ด httpie๋ฅผ ์ข…์†์„ฑ์œผ๋กœ ์„ค์น˜ํ•˜๊ณ  /usr/local/bin/http ์—์žˆ๋Š” brew ์„ค์น˜ ๋งํฌ๋ฅผ ๋ฎ์–ด ์”๋‹ˆ๋‹ค. ์ด์ œ brew ์„ค์น˜ ๋ฒ„์ „์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ๋ชจ๋“  ํ”Œ๋Ÿฌ๊ทธ์ธ์ด ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

macOS์— ๊ถŒ์žฅ๋˜๋Š” ์„ค์น˜ ๋ฐฉ๋ฒ•์œผ๋กœ pip3 install httpie ๋ฅผ ์ฝ๋„๋ก ์„ค๋ช…์„œ๋ฅผ ๋ณ€๊ฒฝํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

bug docs

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

๊ทธ ๋™์•ˆ ํ”Œ๋Ÿฌ๊ทธ์ธ์— ๊ด€ํ•œ ๋ฌธ์„œ์—์„œ "brew๋Š” ํ”Œ๋Ÿฌ๊ทธ์ธ์—์„œ ์ž‘๋™ํ•˜์ง€ ์•Š์œผ๋ฉฐ ํ”Œ๋Ÿฌ๊ทธ์ธ ๊ธฐ๋Šฅ์„ ์œ„ํ•ด httpie๋ฅผ ์„ค์น˜ํ•˜๋ ค๋ฉด pip ์„ค์น˜"๋ผ๋Š” ๋ฉ”๋ชจ๊ฐ€ ์žˆ์œผ๋ฉด ๋‘ํ†ต์„ ๋œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ชจ๋“  5 ๋Œ“๊ธ€

@rshurts ๋‹น์‹ ์ด ๋งž์•„์š”. Homebrew ๊ธฐ๋ฐ˜ ์„ค์น˜์šฉ ํ”Œ๋Ÿฌ๊ทธ์ธ ์„ค์น˜๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ Homebrew๋ฅผ ๊ถŒ์žฅ๋˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ ์œ ์ง€ํ•˜๋ฉด ์žฅ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์‰ฝ๊ฒŒ ์—…๋ฐ์ดํŠธ ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ๊ธฐ๋ณธ ํŒจํ‚ค์ง€๋Š” Python 3 (ํ–ฅ์ƒ๋œ SSL ์ง€์› ๋“ฑ)์— ์˜์กด ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด์ƒ์ ์ธ ์†”๋ฃจ์…˜์€ ๋ชจ๋“  ํ”Œ๋Ÿฌ๊ทธ์ธ์„ Homebrew ํŒจํ‚ค์ง€ ( brew install httpie-oauth )๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋กํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๊ทธ๊ฒƒ์€ ๊ด€๋ฆฌ์ž์—๊ฒŒ ์ถ”๊ฐ€ ์ž‘์—…์„ ์˜๋ฏธํ•˜๋ฏ€๋กœ ๋ชจ๋“  ํ”Œ๋Ÿฌ๊ทธ์ธ์ด Homebrew๋กœ ๋๋‚˜๋Š” ๊ฒƒ์€ ์•„๋‹™๋‹ˆ๋‹ค.

pip ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ์„ค์น˜ํ•˜๋Š” ๊ฒƒ์ด ๋” ์‰ฌ์šด ๋ฐฉ๋ฒ•์ฒ˜๋Ÿผ ๋ณด์ž…๋‹ˆ๋‹ค. Hombrew์™€ ํ•จ๊ป˜ ์ž‘๋™ํ•˜๊ฒŒํ•˜๋ ค๋ฉด pip ์—์„œ (ํ˜„์žฌ) /usr/local/Cellar/httpie/0.9.8_2/libexec/lib/python3.6/site-packages ๋ฅผ ์„ค์น˜ ๋””๋ ‰ํ† ๋ฆฌ๋กœ ์‚ฌ์šฉํ•˜๋„๋ก ์ง€์‹œํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ๊ฑฐ๊ธฐ์— ์„ค์น˜๋œ ํ”Œ๋Ÿฌ๊ทธ์ธ์€ HTTPie ์—…๊ทธ๋ ˆ์ด๋“œ์—์„œ ์‚ด์•„๋‚จ์ง€ ๋ชปํ•ฉ๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด, Homebrew Python 3 site-packages ์—์„œ HTTPie๊ฐ€ ์„ค์น˜๋œ ํ”Œ๋Ÿฌ๊ทธ์ธ์„๋กœ๋“œ ํ•  ์ˆ˜ ์žˆ๋„๋ก Homebrew ๊ณต์‹ ์„ ์กฐ์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค (์˜๊ตฌ์ ์ธ์ง€ ํ™•์‹คํ•˜์ง€ ์•Š์Œ). ๋˜๋Š” ๋‹ค๋ฅธ ์œ„์น˜์—์„œ.

โ€ฆ ๋˜๋Š” ์ผ์ข…์˜ ๋งž์ถคํ˜• ํ”Œ๋Ÿฌ๊ทธ์ธ ์„ค์น˜ ํ”„๋กœ๊ทธ๋žจ.

๊ทธ ๋™์•ˆ ํ”Œ๋Ÿฌ๊ทธ์ธ์— ๊ด€ํ•œ ๋ฌธ์„œ์—์„œ "brew๋Š” ํ”Œ๋Ÿฌ๊ทธ์ธ์—์„œ ์ž‘๋™ํ•˜์ง€ ์•Š์œผ๋ฉฐ ํ”Œ๋Ÿฌ๊ทธ์ธ ๊ธฐ๋Šฅ์„ ์œ„ํ•ด httpie๋ฅผ ์„ค์น˜ํ•˜๋ ค๋ฉด pip ์„ค์น˜"๋ผ๋Š” ๋ฉ”๋ชจ๊ฐ€ ์žˆ์œผ๋ฉด ๋‘ํ†ต์„ ๋œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์‚ฌ์šฉ์ž์—๊ฒŒ ๊ด€๋ฆฌ์ž ๊ถŒํ•œ์ด์—†๋Š” ๊ฒฝ์šฐ ์ฝ๊ธฐ ๊ถŒํ•œ์— ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

$ http --help
Traceback (most recent call last):
  File "/usr/local/bin/http", line 6, in <module>
    from pkg_resources import load_entry_point
  File "/usr/local/Cellar/httpie/1.0.0/libexec/lib/python3.7/site-packages/pkg_resources/__init__.py", line 3123, in <module>
    <strong i="6">@_call_aside</strong>
  File "/usr/local/Cellar/httpie/1.0.0/libexec/lib/python3.7/site-packages/pkg_resources/__init__.py", line 3107, in _call_aside
    f(*args, **kwargs)
  File "/usr/local/Cellar/httpie/1.0.0/libexec/lib/python3.7/site-packages/pkg_resources/__init__.py", line 3136, in _initialize_master_working_set
    working_set = WorkingSet._build_master()
  File "/usr/local/Cellar/httpie/1.0.0/libexec/lib/python3.7/site-packages/pkg_resources/__init__.py", line 569, in _build_master
    ws = cls()
  File "/usr/local/Cellar/httpie/1.0.0/libexec/lib/python3.7/site-packages/pkg_resources/__init__.py", line 562, in __init__
    self.add_entry(entry)
  File "/usr/local/Cellar/httpie/1.0.0/libexec/lib/python3.7/site-packages/pkg_resources/__init__.py", line 618, in add_entry
    for dist in find_distributions(entry, True):
  File "/usr/local/Cellar/httpie/1.0.0/libexec/lib/python3.7/site-packages/pkg_resources/__init__.py", line 1965, in find_on_path
    for dist in factory(fullpath):
  File "/usr/local/Cellar/httpie/1.0.0/libexec/lib/python3.7/site-packages/pkg_resources/__init__.py", line 2035, in distributions_from_metadata
    root, entry, metadata, precedence=DEVELOP_DIST,
  File "/usr/local/Cellar/httpie/1.0.0/libexec/lib/python3.7/site-packages/pkg_resources/__init__.py", line 2492, in from_location
    py_version=py_version, platform=platform, **kw
  File "/usr/local/Cellar/httpie/1.0.0/libexec/lib/python3.7/site-packages/pkg_resources/__init__.py", line 2867, in _reload_version
    md_version = _version_from_file(self._get_metadata(self.PKG_INFO))
  File "/usr/local/Cellar/httpie/1.0.0/libexec/lib/python3.7/site-packages/pkg_resources/__init__.py", line 2456, in _version_from_file
    line = next(iter(version_lines), '')
  File "/usr/local/Cellar/httpie/1.0.0/libexec/lib/python3.7/site-packages/pkg_resources/__init__.py", line 2646, in _get_metadata
    for line in self.get_metadata_lines(name):
  File "/usr/local/Cellar/httpie/1.0.0/libexec/lib/python3.7/site-packages/pkg_resources/__init__.py", line 1411, in get_metadata_lines
    return yield_lines(self.get_metadata(name))
  File "/usr/local/Cellar/httpie/1.0.0/libexec/lib/python3.7/site-packages/pkg_resources/__init__.py", line 1407, in get_metadata
    value = self._get(self._fn(self.egg_info, name))
  File "/usr/local/Cellar/httpie/1.0.0/libexec/lib/python3.7/site-packages/pkg_resources/__init__.py", line 1519, in _get
    with open(path, 'rb') as stream:
PermissionError: [Errno 13] Permission denied: '/usr/local/Cellar/httpie/1.0.0/libexec/lib/python3.7/site-packages/idna-2.7-py3.7.egg-info/PKG-INFO'

๋‚˜๋Š” ๊ทธ๊ฒƒ์„ ๊ณ ์น  ์ˆ˜ ์žˆ์—ˆ๋‹ค

chmod +r /usr/local/Cellar/httpie/1.0.0/libexec/lib/python3.7/site-packages/idna-2.7-py3.7.egg-info/PKG-INFO

ํ•˜์ง€๋งŒ ํ”Œ๋Ÿฌ๊ทธ์ธ ์„ค์น˜๊ฐ€ ๋” ์‰ฌ์›Œ ์กŒ๊ธฐ ๋•Œ๋ฌธ์— pip3 install httpie ๋กœ ์ „ํ™˜ํ–ˆ์Šต๋‹ˆ๋‹ค.

10.14 Mojave๋กœ ์—…๊ทธ๋ ˆ์ด๋“œ ํ•œ ํ›„ ์œ„์˜ pip3 list ๋Š” ์•„๋งˆ๋„ ์ดˆ๊ธฐ Python ๋ฒˆ๋“ค์— ํฌํ•จ ๋œ ํ•ญ๋ชฉ 3 ๊ฐœ๋งŒ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.

์ด๊ฒƒ์€ ๊ทผ๋ณธ์ ์œผ๋กœ Python3 ๋ฌธ์ œ์ž…๋‹ˆ๊นŒ (์ ์–ด๋„ homebrew๋ฅผ ํ†ตํ•ด ์„ค์น˜๋œ Python)? ๊ด€๋ฆฌ์ž์—๊ฒŒ๋ณด๊ณ ํ•ด์•ผํ•ฉ๋‹ˆ๊นŒ?

๊ทธ๋งŒํ•œ ๊ฐ€์น˜์™€ ๋‹ต๋ณ€์„ ๊ตฌํ•˜๋Š” ๋‹ค๋ฅธ ์‚ฌ์šฉ์ž์˜ ๊ฒฝ์šฐ ํ”Œ๋Ÿฌ๊ทธ์ธ ์„ค์น˜๊ฐ€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ž˜ ์ž‘๋™ํ–ˆ์Šต๋‹ˆ๋‹ค.

pip3 install -t /usr/local/Cellar/httpie/2.0.0/libexec/lib/python3.8/site-packages httpie-jwt-auth

๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค https://github.com/jakubroztocil/httpie/issues/566#issuecomment -285210693

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰