Oauthlib: ํ•ด๊ฒฐ๋œ ์ƒˆ PIP๊ฐ€ Oauthlib ๋ฐ์ดํ„ฐ์— ์•ก์„ธ์Šคํ•  ๋•Œ ์˜ค๋ฅ˜ ๋ฐœ์ƒ

์— ๋งŒ๋“  2020๋…„ 12์›” 02์ผ  ยท  14์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: oauthlib/oauthlib

๋ฒ„๊ทธ ์„ค๋ช…

Airflow์—์„œ ๊ธฐ๋ณธ์ ์œผ๋กœ ์ƒˆ ํ•ด์„๊ธฐ๊ฐ€ ์ผœ์ ธ ์žˆ๋Š” 2์ผ ์ „์— ๋ฆด๋ฆฌ์Šค๋œ PIP๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๊ณ  ํ•  ๋•Œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

ERROR : ์š”์ฒญ oauthlib [signedtoken]> = https://files.pythonhosted.org/packages/e5/54/4f96c51b171cf3a64a04b8c5167268803205bc5943b5cdf70bd770727b88/oauthlib-1.1.0-1.tar.gz#sha256=0f786c5573248a38efa86c48c59c0c93140ac836ab2a246aeefd8f9039e999ba์—์„œ 1.0.0 (ํ–‰ jira- >apache-airflow==1.10.13) ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ์— ๋‹ค๋ฅธ ๋ฒ„์ „์ด ์žˆ์Šต๋‹ˆ๋‹ค: '1.1.0'

๋ฒˆ์‹ ๋ฐฉ๋ฒ•

  • Python 3.6์šฉ ๋นˆ virtualenv ์„ค์ •
  • ์ตœ์‹  ํ•์œผ๋กœ ์—…๊ทธ๋ ˆ์ด๋“œ: pip install --upgrade pip
  • pip --version ๋Š” 20.3์„ ๋ฐ˜ํ™˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • ๋‹ค์Œ ๋ช…๋ น์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.
pip install "https://github.com/apache/airflow/archive/v1-10-test.tar.gz#egg=apache-airflow[all]" --constraint https://raw.githubusercontent.com/apache/airflow/constraints-1-10/constraints-3.6.txt
  • ์ถœ๋ ฅ์„ ๊ด€์ฐฐํ•˜์‹ญ์‹œ์˜ค. ๋•Œ๊นŒ์ง€ ์ข‹์€ ์ข…์†์„ฑ์„ ๊ณ„์† ์ฐพ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.
Collecting oauthlib[signedtoken]>=1.0.0
  Using cached oauthlib-3.0.2-py2.py3-none-any.whl (143 kB)
  Using cached oauthlib-3.0.1-py2.py3-none-any.whl (142 kB)
  Using cached oauthlib-3.0.0-py2.py3-none-any.whl (142 kB)
  Using cached oauthlib-2.1.0-py2.py3-none-any.whl (121 kB)
  Using cached oauthlib-2.0.7-py2.py3-none-any.whl (124 kB)
  Using cached oauthlib-2.0.6.tar.gz (127 kB)
  Using cached oauthlib-2.0.5.tar.gz (129 kB)
  Using cached oauthlib-2.0.4.tar.gz (127 kB)
  Using cached oauthlib-2.0.3.tar.gz (127 kB)
  Using cached oauthlib-2.0.2.tar.gz (125 kB)
  Using cached oauthlib-2.0.1.tar.gz (122 kB)
  Using cached oauthlib-2.0.0.tar.gz (122 kB)
  Using cached oauthlib-1.1.2.tar.gz (111 kB)
  Using cached oauthlib-1.1.1.tar.gz (108 kB)
  Using cached oauthlib-1.1.0-1.tar.gz (106 kB)
ERROR: Requested oauthlib[signedtoken]>=1.0.0 from https://files.pythonhosted.org/packages/e5/54/4f96c51b171cf3a64a04b8c5167268803205bc5943b5cdf70bd770727b88/oauthlib-1.1.0-1.tar.gz#sha256=0f786c5573248a38efa86c48c59c0c93140ac836ab2a246aeefd8f9039e999ba (from jira->apache-airflow[all]) has different version in metadata: '1.1.0'
````
Apparently, metadata in published oauthlib 1.1.0-1 is wrong snd points to 1.1.0.



The same command with the legacy resolver works fine:

pip install --use-deprecated ๋ ˆ๊ฑฐ์‹œ ๋ฆฌ์กธ๋ฒ„ " https://github.com/apache/airflow/archive/v1-10-test.tar.gz#egg =apache-airflow[all]" --constraint https:/ /raw.githubusercontent.com/apache/airflow/constraints-1-10/constraints-3.6.txt
```

์˜ˆ์ƒ๋˜๋Š” ํ–‰๋™

๋ฆฌ์กธ๋ฒ„๊ฐ€ ์†์ƒ๋œ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋กœ ์ธํ•ด ์†์ƒ๋˜์ง€ ์•Š์„ ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒํ•ฉ๋‹ˆ๋‹ค.
PIP https://github.com/pypa/pip/issues/9203 ์—์„œ ์œ ์‚ฌํ•œ ๋ฌธ์ œ๋ฅผ ์—ด์—ˆ์Šต๋‹ˆ๋‹ค. ๋ˆ„๊ฐ€ ๊ณ ์น  ์ˆ˜ ์žˆ๋Š”์ง€ ํ™•์‹คํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

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

๋‚˜๋Š” ๋ฆด๋ฆฌ์Šค๋ฅผ ํ’€์—ˆ์Šต๋‹ˆ๋‹ค. ๋ˆ„๊ตฐ๊ฐ€๊ฐ€ ์—ฌ์ „ํžˆ ์ž‘๋™ํ•˜๋Š”์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด ์ข‹์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. :)

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

pip install oauthlib[signedtoken]>=1.0.0 ์‹œ๋„ํ–ˆ์Šต๋‹ˆ๋‹ค.
์˜ˆ์ƒ๋Œ€๋กœ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๊ฐ€ ๋ฌด์—‡์„ ๋” ํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ์ž˜ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค.

์–ด์ฉŒ๋ฉด ytou๋Š” ๋ฌธ์ œ๊ฐ€ ๋˜๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ฒ„์ „์„ ์ œ๊ฑฐ/๋Œ์–ด๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? ์šฐ๋ฆฌ์˜ ๊ฒฝ์šฐ oauthlub์— ์ œํ•œ์„ ์ถ”๊ฐ€ํ•˜๋ ค๊ณ  ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค!

pip install oauthlib[signedtoken]>=1.0.0 ์‹œ๋„ํ–ˆ์Šต๋‹ˆ๋‹ค.

์‹คํŒจํ•œ ๋ฒ„์ „์ด๋ฏ€๋กœ pip install oauthlib==1.1.0 ์‹œ๋„ํ•˜์‹ญ์‹œ์˜ค. pip 20.3์—๋Š” ์ถฉ๋Œ์„ ์—ญ์ถ”์ ํ•˜๋Š” ๋ฆฌ์กธ๋ฒ„๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด ๋ฒ„์ „์„ ์žก์•„๋‹น๊ธฐ๋ฉด ์ˆ˜์ •ํ•ด์•ผ ํ•œ๋‹ค๋Š” PIP ๊ฐœ๋ฐœ์ž๊ฐ€ ํ™•์ธํ–ˆ์Šต๋‹ˆ๋‹ค. https://github.com/pypa/pip/issues/9203#issuecomment -737891765

์œ ์ง€ ๋ณด์ˆ˜๊ฐ€ ๊ทธ๊ฒƒ์„ ์žก์•„ ๋‹น๊ธฐ๋Š” ๋ฐ ๊ทธ๋ ‡๊ฒŒ ์นœ์ ˆํ• ๊นŒ์š”?

์—ฌ๋Ÿฌ๋ถ„์ด ํ•ด๋‹น ๋ฆด๋ฆฌ์Šค๋ฅผ ์žก์•„๋‹น๊ธธ ์ˆ˜ ์žˆ๋‹ค๋ฉด(https://pypi.org/help/#yanked) Airflow์—์„œ ์šฐ๋ฆฌ์™€ ๊ฐ™์€ ๋” ๋งŽ์€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ์˜ค๋ฅ˜ ์—†์ด ์ƒˆ๋กœ์šด PIP ํ•ด์„๊ธฐ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค.

๋‹น์‹ ์ด ํ•˜๊ณ  ์žˆ๋Š” ๋ชจ๋“  ์ผ์— ์ •๋ง๋กœ ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค

์•ˆ๋…•ํ•˜์„ธ์š”,
๋ฆด๋ฆฌ์Šค๋ฅผ ๊บผ๋ƒˆ์Šต๋‹ˆ๋‹ค. ์ง€๊ธˆ ๊ดœ์ฐฎ์€์ง€ ์•Œ๋ ค์ฃผ์„ธ์š”.
๋ฌธ์•ˆ ์ธ์‚ฌ

๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค ๐Ÿ™

์ •๋ง ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค ! ์ •๋ง ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

๋ถˆํ–‰ํžˆ๋„ PIP ๊ด€๋ฆฌ์ž ํ™•์ธ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ์ž‘๋™ํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. https://github.com/pypa/pip/issues/9203#issuecomment -738395432

@JonathanHuot๋ฅผ ์ž์œ ๋กญ๊ฒŒ ํ’€์–ด์ฃผ์„ธ์š” .

์—…๋ฐ์ดํŠธ๋งŒ ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. ์•„์ง ํ’€์ง€ ๋งˆ์„ธ์š”. :). ์ˆ˜์ •์ด ์˜ค๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค https://github.com/pypa/pip/pull/9226

์ด๊ฒƒ์ด ์ง€๊ธˆ ์ˆ˜์ •๋œ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค(pip 21.0์„ ์‚ฌ์šฉํ•˜์—ฌ ํ…Œ์ŠคํŠธ๋จ).

์•Œ๋ ค์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค :)

@JonathanHuot ์šฐ๋ฆฌ๊ฐ€ ์•„์ง ์ถœ์‹œ unyank๋‚˜์š”?

๋‚˜๋Š” ๋ฆด๋ฆฌ์Šค๋ฅผ ํ’€์—ˆ์Šต๋‹ˆ๋‹ค. ๋ˆ„๊ตฐ๊ฐ€๊ฐ€ ์—ฌ์ „ํžˆ ์ž‘๋™ํ•˜๋Š”์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด ์ข‹์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. :)

์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค :)

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