Pip: Pip์€ ์—ฌ๋Ÿฌ ํŒจํ‚ค์ง€๋ฅผ ์„ค์น˜ํ•  ๋•Œ ๋„ˆ๋ฌด ์˜ค๋ž˜๋œ ์ข…์†์„ฑ์„ ์—…๋ฐ์ดํŠธํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์— ๋งŒ๋“  2019๋…„ 10์›” 04์ผ  ยท  3์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: pypa/pip

๊ธฐ์ˆ 
์ด๊ฒƒ์ด ์•ผ์ƒ์—์„œ ๊ด€์ฐฐ ๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ํŠน์ • ํŒจํ‚ค์ง€์— ๋Œ€ํ•ด ๋…ผ์˜ ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค (HypothesisWorks / hypothesis # 2113) : ์ตœ๊ทผ์— attrs>=16.0 ์— ๋Œ€ํ•œ install_requires ์ข…์†์„ฑ์„ attrs>=19.2 ๋กœ ์—…๋ฐ์ดํŠธํ–ˆ์Šต๋‹ˆ๋‹ค. ์ตœ์‹  ๋ฒ„์ „์˜ ๊ฐ€์„ค์„ ์„ค์น˜ํ•˜๋ฉด ์‚ฌ์šฉ์ž์˜ ์†์„ฑ๋„ ์—…๋ฐ์ดํŠธ๋œ๋‹ค๋Š” ๊ทผ๊ฑฐ๊ฐ€๋ฉ๋‹ˆ๋‹ค.

  • pip install hypothesis ๋Š” ์‹ค์ œ๋กœ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.
  • pip install pytest hypothesis ๋Š” ์ด์ „ ๋ฒ„์ „์˜ attrs๊ฐ€ ์•„์ง ์„ค์น˜๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

์—ฌ๋Ÿฌ ํŒจํ‚ค์ง€๊ฐ€ ์„ค์น˜ ๋ช…๋ น์— ๋‚˜์—ด๋˜๋ฉด ์ด๋ฏธ ์„ค์น˜๋œ ์ข…์†์„ฑ์˜ ํ˜ธํ™˜์„ฑ์€ ๋‚˜์—ด๋œ ์ฒซ ๋ฒˆ์งธ ํŒจํ‚ค์ง€์— ๋Œ€ํ•ด์„œ๋งŒ ํ‰๊ฐ€๋˜๊ณ  ์ดํ›„ ํŒจํ‚ค์ง€์˜ ๊ฒฝ์šฐ ์ข…์†์„ฑ ๋ฒ„์ „์ด ์•„๋‹Œ ์กด์žฌ ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ž…๋‹ˆ๋‹ค. ์ด๋Š” ์š”๊ตฌ ์‚ฌํ•ญ ํŒŒ์ผ ์‚ฌ์šฉ์—๋„ ์˜ํ–ฅ์„์ค๋‹ˆ๋‹ค.

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

์„ค์น˜ ๋ชฉ๋ก์— ์žˆ๊ฑฐ๋‚˜ ์ด๋ฏธ์žˆ๋Š” ๋‹ค๋ฅธ ํŒจํ‚ค์ง€์— ๊ด€๊ณ„์—†์ด pip install hypothesis ๋Š” ํ˜ธํ™˜๋˜๋Š” ํŒจํ‚ค์ง€ ์„ธํŠธ๋ฅผ ์„ค์น˜ํ•˜๊ฑฐ๋‚˜ ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€๋ฅผ ํ‘œ์‹œํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ์†์ƒ๋œ ํ™˜๊ฒฝ์ด ์•„๋‹™๋‹ˆ๋‹ค.

์žฌํ˜„ ๋ฐฉ๋ฒ•

[tox]
skipsdist=True
[testenv]
deps =
    pip
    attrs==19.1.0
commands =
    ## Execute the problematic install command
    # pip install hypothesis  # works
    # pip install hypothesis pytest  # works
    pip install pytest hypothesis  #  fails, as does `pip install attrs hypothesis` !
    # pip install --upgrade pytest hypothesis  # works

    ## Check that the installed packages are compatible
    python -c "import hypothesis"

๊ทธ๋Ÿฐ ๋‹ค์Œ tox --recreate ๋ฅผ ์‹คํ–‰ํ•˜์—ฌ ๊ฐ€์ƒ ํ™˜๊ฒฝ์„ ๋‹ค์‹œ ๋งŒ๋“ค๊ณ  ๋ช…๋ น์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

(๊ทธ๋ฆฌ๊ณ  pip ์ž‘์—…ํ•˜๋Š” ๋ชจ๋“  ๋ถ„๋“ค ๋•๋ถ„์— ๋งค์šฐ ๊ฐ€์น˜ ์žˆ๊ณ  ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค ๐Ÿ˜)

dependency resolution auto-locked bug

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

์„ธ๋ถ€ ์‚ฌํ•ญ๊ณผ ์‰ฌ์šด ์žฌํ˜„์— ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค! ๋งค์šฐ ๊ฐ์‚ฌ!

์ด๊ฒƒ์€ ๊ธฐ๋ณธ์ ์œผ๋กœ # 988์ž…๋‹ˆ๋‹ค. ๊ฐ„๋žตํ•œ ์š”์•ฝ :

  • pip๋Š” ๋ชจ๋‘ ๋Œ€๋ฌธ์ž๋กœ ERROR ์™€ ํ•จ๊ป˜ ๋นจ๊ฐ„์ƒ‰์œผ๋กœ ๋ฉ”์‹œ์ง€๋ฅผ ์ธ์‡„ํ•ฉ๋‹ˆ๋‹ค.
    ERROR: hypothesis 4.38.2 has requirement attrs>=19.2.0, but you'll have attrs 19.1.0 which is incompatible.
  • pip check ๋ฅผ CI์˜ ์ผ๋ถ€๋กœ ์‚ฌ์šฉํ•˜์—ฌ pip๊ฐ€ ์–ด๋ฆฌ์„์€ ์ผ์„ํ•˜์ง€ ์•Š์•˜๋Š”์ง€ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค.
  • ์ด๋ฅผ ๋ฐฉ์ง€ํ•˜๋ ค๋ฉด pip-tools (Pi๋ฅผ ๋” ๋‚˜์€ ๋ฆฌ์กธ๋ฒ„๋กœ ๋ž˜ํ•‘) ๋˜๋Š” pipenv ( pip-tools ) ๋˜๋Š” poetry (์ž์ฒด ๋ฆฌ์กธ๋ฒ„๊ฐ€ ์žˆ์Œ) ์‚ฌ์šฉ pip์˜ ๋ฆฌ์กธ๋ฒ„์˜ ํŠน์งˆ.

์•„, ์•Œ๊ฒ ์Šต๋‹ˆ๋‹ค! ๋ฌธ์ œ์˜ ๋งˆ์ง€๋ง‰ ๋ช‡ ํŽ˜์ด์ง€๋ฅผ ํ™•์ธํ–ˆ์ง€๋งŒ ๊ทธ ์ด์ „์˜ ๋ฌธ์ œ๋Š” ์—†์Šต๋‹ˆ๋‹ค. ์ถ”๊ฐ€ ์ •๋ณด๊ฐ€ ์—†๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋ฏ€๋กœ์ด ๋ฌธ์ œ๋ฅผ ์ค‘๋ณต์œผ๋กœ ์ข…๋ฃŒ ํ•  ์ˆ˜ ์žˆ๋‚˜์š”?

# 988์˜ ์ค‘๋ณต์œผ๋กœ ๋‹ซ์Šต๋‹ˆ๋‹ค.

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