์ด๊ฒ์ ๋ฆด๋ฆฌ์ค๋ฅผ ์ค์ด๊ธฐ ์ํด ํด๊ฒฐํด์ผ ํ๊ฑฐ๋ ์ฌ์ ํ ์ ๋ฐ์ดํธํด์ผ ํ๋ ๊ด๋ จ ๋ฌธ์ ์ ์ฐ๊ฒฐ๋๋ ๋ด๋ถ ์ถ์ ๋ฌธ์ ์ ๋๋ค. ์ค๋ ์๊ฐ ๋์ ์์ต๋๋ค(https://github.com/pypa/pipenv/issues/4058#issuecomment-565550646 ๋ฐ https://github.com/pypa/pipenv/issues/3742#issuecomment-492100711 ์ฐธ์กฐ). ์ ๋ํ ์๊ฒฌ) ๊ทธ๋ฆฌ๊ณ 2020๋ 3์์ ์ํํ์ ์ถ์ํ๋ ์ ์ ์ ์ธ ๋ชฉํ๊ฐ ์์ต๋๋ค.
( @brainwane ์ด ํธ์ง: ์ง์์ ์ธ ํตํฉ ์ค์ ์ ์ผ๋ถ ์ค๋ฅ๋ฅผ ์์ ํ๋ฉด ์ด ๋ฆด๋ฆฌ์ค 2020.04.1a1์ด -- ์๋ก์ด ์ถ์ -- 2020๋ 4์ 21์ผ๊น์ง ์ฐ๊ธฐ๋ฉ๋๋ค.)
2020.4.1b1
๊ฐ ์ถ์๋์์ผ๋ฉฐ Dan์ ์ฝ 1์ฃผ์ผ ์์ ๋ค์ ๋ฆด๋ฆฌ์ค๋ฅผ ์ถ์ํ๋ ๊ฒ์ ๋ชฉํ๋ก ํ๊ณ ์์ต๋๋ค.)( 2020๋ 3์ 5์ผ Dan๊ณผ์ ๋ํ์์ @brainwane ์ด ํธ์งํ ํ 3์๊ณผ 4์ ๋ด๋ด)
README
๋ฅผ ์
๋ฐ์ดํธ ํ๊ณ ๋ฌธ์ ํ๋ก์ ํธ๋ฅผ ์ฝ๊ณ pipenv.pypa.io์์ ๋ฌธ์๋ฅผ ๊ฐ๋ฆฌํต๋๋ค.pip-shims
ํ
์คํธ ์คํจ ์์ ](https://github.com/sarugaku/pip-shims/issues/58) ( bugfix/56
๋ถ๊ธฐ ๋ณํฉ)requirementslib
์์ :requirementslib
๋ฌธ์ setup.py
์ AST ๊ตฌ๋ฌธ ๋ถ์์ด ๋น์ถ๊ฐ ์ ํ binOps
์์ ์คํจํจsetup.py
ํ์ผ์์ AST ๊ตฌ๋ฌธ ๋ถ์ ์คํจrequirements-lib
๋ฌธ์ ๊ฒํ ์ด๊ฒ์ด Dan์ด 2020๋ 4์ 21์ผ๊น์ง ๋ชฉํ๋ก ํ๋ ๊ฒ์ ๋๋ค. ๊ทธ๋ฐ ๋ค์:
๋ค๋ฅธ ์ฌ๋๋ค์ด ๋์ธ ์ ์๋ ๋ฐฉ๋ฒ:
์ด๊ฒ์ ๋ค์ ๋ฆด๋ฆฌ์ค๊ฐ ์ธ์ ์ธ์ง, ์ฐจ๋จ๊ธฐ๊ฐ ๋ฌด์์ธ์ง, ๋๊ตฐ๊ฐ๊ฐ ๋์ธ ์ ์๋ ์ผ์ด ์๋์ง ๋ฌผ์ด๋ณผ ์ ์๋ ์ข์ ์ฅ์์ธ ๊ฒ ๊ฐ์ต๋๋ค.
์ฐ๋ฆฌ ํ์ ํนํ #3298์ ํด๊ฒฐํ๊ธฐ ์ํ ๋ค์ ์ ๋ฐ์ดํธ๋ฅผ ๊ธฐ๋ํ๊ณ ์์ต๋๋ค. ์ฃผ์ ์ฐจ๋จ๊ธฐ๊ฐ ์์ง ๋จ์ ์์ต๋๊น?
๋๋ ์ค๋ https://github.com/pypa/packaging.python.org/issues/701 ์ ๋ฐ๊ฒฌ ํ๊ณ @techalchemy ๊ฐ ์๋ก์ด ๋ฆด๋ฆฌ์ค๋ฅผ ๋ง๋๋ ๋ฐ ๋ฐฉํด๊ฐ ๋๋ ์์์ ๋ํด ์ข ๋ ๋ช ํํ๊ฒ ์ดํดํ ์ ์๋๋ก ์ฝ 90๋ถ์ ์๊ฐ์ ๊ธฐ๋ถํ์ต๋๋ค( IRC ๋ํ )) . https://github.com/pypa/pipenv/issues/3369#issue -389160510 ์ด์ ๋ฆด๋ฆฌ์ค ์ฒดํฌ๋ฆฌ์คํธ๊ฐ ์์ต๋๋ค. @techalchemy ๋ @JBKahn ๋๋ ๋ค๋ฅธ ์ฌ๋์ด ๋์์ ์ํ๋ ๊ฒฝ์ฐ์ ๋๋นํ์ฌ ํด๋น ๋ฆด๋ฆฌ์ค ์ฐจ๋จ๊ธฐ์ ๋์์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
@techalchemy : ์ฌ๊ธฐ์ ๋งํฌ๋ ๋ฌธ์ ๋ฅผ ์ดํด๋ณด๋ฉด ๋ง์ ๋ถ๋ถ์ด ์์ ๋์์ต๋๋ค. ์ด ์ค๋ ๋(:
@brainwane , @techalchemy , ์ ๊ฐ์ญ๊ณผ ์ ์ฌ์ ๋ฌด์ง์ ๋ํด ์ฌ๊ณผ๋๋ฆฝ๋๋ค. ํ์ง๋ง ์ด ๋ฆด๋ฆฌ์ค์์ #2227 ๋ฐ/๋๋ #3520์ ๋นผ๋ ๊ฒ์ ์ ์ํด๋ ๋ ๊น์? ๋ด ์ธ์์ ์ด๋ ์ ๋ ๋ฆด๋ฆฌ์ค๋๋ ๊ฒ์ด ํ์์ ์ด๋ฉฐ ์ ์ตํ๋ค๋ ๊ฒ์ ๋๋ค. #2227์ ์๋ก์ด ๊ธฐ๋ฅ์ฒ๋ผ ๋ณด์ด์ง๋ง #3520์๋ ํด๊ฒฐ ๋ฐฉ๋ฒ์ด ์ค๋ช ๋์ด ์์ต๋๋ค(๋ฆฌํฌํฐ์ ์ด์ ์์).
๋ง์ฐฌ๊ฐ์ง๋ก ๋ค์ pipenv๋ฅผ ์ถ์ํ๊ธฐ ์ ์ "๊ด๋ จ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์ ๋ฆด๋ฆฌ์ค๋ฅผ ๋ง๋ค๊ธฐ"๊ฐ ์๊ฒฉํ๊ฒ ํ์ํฉ๋๊น? #3613์ ์ดํด๋ณด๋ค๊ฐ ํ์ฌ ๋ง์คํฐ ๋ธ๋์น๊ฐ ์๋ํ๋ ๊ฒ์ ๋ฐ๊ฒฌํ์ต๋๋ค...
๋๋ ์ด๋ฌํ ๋ฌธ์ ๊ฐ ์ค์ํ์ง ์๋ค๊ณ ์ ์ํ๋ ๊ฒ์ด ์๋๋ผ ์ด๋ฏธ ๋ง์คํฐ์ ๊ฐ์ ์ฌํญ์ด ์ฌ๋๋ค์๊ฒ ์ ๋ฌ๋๋ ๊ฒ์ ๋ฐฉํดํด์๋ ์๋๋ค๋ ๊ฒ์ ๋๋ค.
3์๋ ๊ฑฐ์ ๋๋๊ฐ๊ณ
https://github.com/pypa/pipenv/issues/3520 ์ด ํ์ฌ ๋ง์คํฐ์์ ์์ ๋ ๊ฒ ๊ฐ์ต๋๋ค. https://github.com/pypa/pipenv/issues/2227 ์ ์ ๋ฐ์ดํธ์ ๋ํ ์ค์ํ ์์ ์ผ๋ก ๋ณด์ด์ง ์์ต๋๋ค. .
์ปค๋ฎค๋ํฐ๊ฐ ๋์์ด ๋ ์ ์๋ ๊ณณ์ ์ฐจ๋จํ๋ ๊ฒ์ด ์์ต๋๊น? ์์ ๋ด๋ฐ๊ฒ ๋์ด ๊ธฐ์ฉ๋๋ค. ๊ทธ๋ ์ง ์์ผ๋ฉด ๋ฆด๋ฆฌ์ค ์ ๋ฐ์ดํธ ๋ฐ ๋ฌธ์ ์ ๋ฐ์ดํธ๋ง ํ์๋ฉ๋๋ค.
@Froskekongen @amhrasmussen @fridex ํฌ์ธํฐ ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค! ์ด์ @techalchemy ์ ์๊ฐ์ ์ข ๋ ๊ธฐ๋ถ ํ๊ณ ๋ชฉ๋ก์ ์๋ ๊ด๋ จ ํญ๋ชฉ ์ค ๋ช ๊ฐ์ง๋ฅผ ๋ ์ดํด ๋ดค์ต๋๋ค.
์ฌ๊ธฐ์ ๋งํฌ๋ ๋ฌธ์ ๋ฅผ ๋ณด๋ฉด ๋ง์ ๋ถ๋ถ์ด ์์ ๋์์ต๋๋ค. ์ด ์ค๋ ๋(:
๊ฐ์ฌ ํด์! ์ด์ ๋ช ๊ฐ์ง ๋ ํ์ธ๋ฉ๋๋ค. :-)
ํ์ฌ ๋ง์คํฐ์ #3520์ด ๊ณ ์ ๋ ๊ฒ ๊ฐ์ต๋๋ค.
#3520์ ๋ํ ๋๊ธ๋ก ๋ง์ํด ์ฃผ์๊ฒ ์ต๋๊น? ๊ฐ์ฌ ํด์.
2227์ ์ ๋ฐ์ดํธ์ ๋ํ ์ค์ํ ์์ ์ฌํญ์ผ๋ก ๋ณด์ด์ง ์์ต๋๋ค.
@brainwane , @techalchemy , ์ ๊ฐ์ญ๊ณผ ์ ์ฌ์ ๋ฌด์ง์ ๋ํด ์ฌ๊ณผ๋๋ฆฝ๋๋ค. ํ์ง๋ง ์ด ๋ฆด๋ฆฌ์ค์์ #2227 ๋ฐ/๋๋ #3520์ ๋นผ๋ ๊ฒ์ ์ ์ํด๋ ๋ ๊น์? ๋ด ์ธ์์ ์ด๋ ์ ๋ ๋ฆด๋ฆฌ์ค๋๋ ๊ฒ์ด ํ์์ ์ด๋ฉฐ ์ ์ตํ๋ค๋ ๊ฒ์ ๋๋ค. #2227์ ์๋ก์ด ๊ธฐ๋ฅ์ฒ๋ผ ๋ณด์ด์ง๋ง #3520์๋ ํด๊ฒฐ ๋ฐฉ๋ฒ์ด ์ค๋ช ๋์ด ์์ต๋๋ค(๋ฆฌํฌํฐ์ ์ด์ ์์).
๊ฐ์ฌ ํด์. Dan์ ๊ทํ์ ์๊ฒฌ์ ๋์ํ์ผ๋ฉฐ ์ด ๋ฆด๋ฆฌ์ค์์ ์ฐจ๋จ๊ธฐ๋ก #2227์ ์ ๊ฑฐํ์ต๋๋ค. ํด๊ฒฐ ๋ฐฉ๋ฒ์ด ์๋ํ๋์ง ํ์ธํ๊ณ ๊ฑฐ๊ธฐ์ ๋๊ธ์ ๋ฌ์ #3520์ ๋์์ ์ค ์ ์๋ค๋ฉด ์ ๋ง ์ข์ ๊ฒ์ ๋๋ค.
๋ง์ฐฌ๊ฐ์ง๋ก ๋ค์ pipenv๋ฅผ ์ถ์ํ๊ธฐ ์ ์ "๊ด๋ จ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์ ๋ฆด๋ฆฌ์ค๋ฅผ ๋ง๋ค๊ธฐ"๊ฐ ์๊ฒฉํ๊ฒ ํ์ํฉ๋๊น? #3613์ ์ดํด๋ณด๋ค๊ฐ ํ์ฌ ๋ง์คํฐ ๋ธ๋์น๊ฐ ์๋ํ๋ ๊ฒ์ ๋ฐ๊ฒฌํ์ต๋๋ค...
๋๋ ์ด๋ฌํ ๋ฌธ์ ๊ฐ ์ค์ํ์ง ์๋ค๊ณ ์ ์ํ๋ ๊ฒ์ด ์๋๋ผ ์ด๋ฏธ ๋ง์คํฐ์ ๊ฐ์ ์ฌํญ์ด ์ฌ๋๋ค์๊ฒ ์ ๋ฌ๋๋ ๊ฒ์ ๋ฐฉํดํด์๋ ์๋๋ค๋ ๊ฒ์ ๋๋ค.
๋ด๊ฐ ์ดํดํ๋ ํ ์ด๋ฌํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ pipenv ๊ธฐ๋ฅ์ ์ค์ํ ๋ฟ๋ง ์๋๋ผ ์ง์๋๋ OS/ํ๊ฒฝ ์กฐํฉ์์ ๋ฆด๋ฆฌ์ค๊ฐ ์๋ํ๋์ง ํ์ธํ๊ธฐ ์ํด pipenv๋ฅผ ์ ์ ํ๊ฒ ํ ์คํธํฉ๋๋ค. ๋ด๊ฐ ํ๋ฆด ์๋ ์์ง๋ง Dan์ "์์ฆ ๋๋ถ๋ถ์ ์์ ์ ๋ณด์กฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์์ ๋ฐ์ํฉ๋๋ค"๋ผ๊ณ ๋งํ์ต๋๋ค.
์ปค๋ฎค๋ํฐ๊ฐ ๋์์ด ๋ ์ ์๋ ๊ณณ์ ์ฐจ๋จํ๋ ๊ฒ์ด ์์ต๋๊น? ์์ ๋ด๋ฐ๊ฒ ๋์ด ๊ธฐ์ฉ๋๋ค. ๊ทธ๋ ์ง ์์ผ๋ฉด ๋ฆด๋ฆฌ์ค ์ ๋ฐ์ดํธ ๋ฐ ๋ฌธ์ ์ ๋ฐ์ดํธ๋ง ํ์๋ฉ๋๋ค.
pipenv์ GitHub ๋ฌธ์ ์์ ์ ์ฌ์ฉ์์ ์ง๋ฌธ์ ๋ตํ์ฌ ๋์์ ์ฃผ์ธ์. ๊ทธ๋ ๊ฒ ํ๋ฉด Dan์ ์๋ต์ ๋ํด ๊ฑฑ์ ํ ํ์๊ฐ ์์ผ๋ฉฐ ์ด๋ฒ ๋ฆด๋ฆฌ์ค์ ์ง์คํ ์ ์์ต๋๋ค.
์ถ์๋ฅผ ์๋๊ณ ์์ต๋๋ค!
distutils-sig ์์ @techalchemy ์ ์๋ก์ด ์ ๋ฐ์ดํธ ์ด๋ฉ์ผ( pypa-dev ๋ชฉ๋ก์ ๋ฏธ๋ฌ๋ง๋จ ). ๋์์ด ๋ ์ ์๋ ๋ช ๊ฐ์ง ๋ฐฉ๋ฒ์ด ํฌํจ๋์ด ์์ต๋๋ค.
@AEHamrick ๊ทํ์ ์๊ฒฌ์ ๋ณด์์ต๋๋ค. https://github.com/pypa/pipenv/issues/3742#issuecomment -498312920 -- #3382 ๋ฐ #3757์ ๊ฐ๋จํ ์ดํด๋ณด์๋๋ฐ, ์ด๋ฏธ ๋ง์คํฐ์์ ์์ ๋ ๊ฒ ๊ฐ์ต๋๋ค. ๋ง๋์? ์์ง ๋ง์คํฐ์์ ์์ ๋์ง ์์ ๊ฒฝ์ฐ ์ฌ๊ธฐ์ ์๊ฒฌ์ ๋จ๊ฒจ์ฃผ์๋ฉด ๋ฆด๋ฆฌ์ค ๋ง์ผ์คํค์ ์ถ๊ฐํ๋ ๊ฒ์ ๊ณ ๋ คํ ์ ์์ต๋๋ค. ๊ฐ์ฌ ํด์!
@brainwane ์๋ ํ์ธ์, ์ฒดํฌ์ธ ํด ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค. ์์งํ ๋งํด์ ์ฌ๊ธฐ์์ ํ๋์ด ๋ถ์กฑํ์ฌ ๊ฝค ์ค๋ ์ ์ Poetry๋ฅผ ์ฌ์ฉํ๊ธฐ ์์ํ์ง๋ง ์๊ฐ์ด ๋๋ฉด ํ ์คํธ ํ๊ฒฝ์ ์ค์ ํ๊ณ ๋ด๊ฐ ๋นํ๋ ์ํฉ์ด ์๋์ง ํ์ธํ๊ฒ ์ต๋๋ค. ๊ทธ ๋ฒ๊ทธ๋ ์ด์ ๊ด์ฐฎ์ ๊ฒ ๊ฐ์ต๋๋ค.
@AEHamrick ์ ์์ ํ ์ดํดํฉ๋๋ค. ๊ฐ์ฌํฉ๋๋ค.
@techalchemy ๊ฐ ๋ ๋์๊ฐ ์ ์๋๋ก ์ด์ ๋ ๋ง์ ์๊ฐ์ ๊ธฐ๋ถํ์ต๋๋ค. Dan์ pythonfinder ๋ฐ requirementslib์ ์ ๋ฆด๋ฆฌ์ค๋ฅผ ๋ง๋ค์๊ณ , ๋๋ฝ๋ ์ข ์์ฑ/๊ฐ์ ธ์ค๊ธฐ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ๊ณต๊ธ์ ์ฒด ์ ๋ฐ์ดํธ ๋ถ๊ธฐ๋ฅผ ๋ณํฉํ๋ ์์ ์ ๊ณ์ํ์ต๋๋ค. ๊ทธ๋ ์ค๋๋ ์ฌ์ ํ ๊ทธ ์ผ์ ํ๊ณ ์์ต๋๋ค("์ผ๋ถ ํ ์คํธ๊ฐ ์คํจํ์ง๋ง ๋๋ฌด ๋ง์ง๋ ์์-17 / 230 ์ ๋").
Pipenv ์ ์ง ๊ด๋ฆฌ์๊ฐ ์ํํ์ ๊ฒ์ํ ํ ์ฌ์ฉ์์ ์ผ๋ถ ์๋ ํ ์คํธ๋ฅผ ํตํด ์ ์ ๋ฆด๋ฆฌ์ค๋ฅผ ์ถ์งํ๋ ๋ฐ ์์ ๊ฐ์ ๊ฐ์ง ์ ์์ต๋๋ค. ๋ค์๊ณผ ๊ฐ์ด "Pipenv ์ํฌํ๋ก ํ ์คํธ" ๋ชฉ๋ก์ ๊ฐ๋ฐํ๋ ๋ฐ ๋์์ ์ค ์ ์์ต๋๋ค.
๋ํ ์ด ๋ฌธ์ ๋ฅผ ํ๋ก์ฐํ๋ ์ฌ๋์ ํ์ฌ ์ํ์ ์ฌ๋๋ค์ด ๋์ธ ์ ์๋ ๋ฐฉ๋ฒ์ ๋ํด ์ด ํธ์ ์ ๋ฆฌํธ์ํ๋ ๊ฒ์ ๊ณ ๋ คํ์ญ์์ค.
visir ๋ ์ค์ ๋ก ์ด๋ฏธ ์ต์ ์ํ์ ๋๋ค. TODO ๋ฆด๋ฆฌ์ค์์ ์ ๊ฑฐํ์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ @techalchemy ๋ Pipenv ๋ฆด๋ฆฌ์ค ํ๋ก์ธ์ค ์ง์นจ ๊ฐ์ด๋๋ฅผ ์์ํ์ต๋๋ค. ๊ฑฐ๊ธฐ์ ์์ด์ผ ํ ๋จ๊ณ์ ๊ทธ๋ ์ง ์์ ๋จ๊ณ๊ฐ ์๋ ๊ฒฝ์ฐ ์ฌ๊ธฐ์ ๋๊ธ์ ๋ฌ๊ฑฐ๋ ํด๋น ๋ฌธ์์ ๊ธ๋จธ๋ฆฌ ๊ธฐํธ๋ฅผ ์ถ๊ฐํ์ธ์.
Dan์ feature/vendor-update
๋ถ๊ธฐ๋ฅผ ๋ณํฉํ ์ ์๊ฒ ๋์์ต๋๋ค.
1 failed, 231 passed, 21 skipped in 442.72 seconds
Dan์ ๋ก์ปฌ์์ ํ ์คํธ๋ฅผ ํต๊ณผํ์ผ๋ฉฐ ์ด์ #4169 pull ์์ฒญ์ ์ํํ์ผ๋ฉฐ ํ ์คํธ ํต๊ณผ๋ฅผ ํ์ธํ๊ณ ์์ต๋๋ค. ์ง๊ธ ๊ทธ๋ค์ ๋งค์ฐ ๋๋ฆฌ๊ฒ ์คํ๋๊ณ ๋๋ก๋ ์คํจํฉ๋๋ค. ๊ทธ๋์ ๊ทธ๋ ์ง๊ธ ๋ฐ๋ก ๊ทธ ์์ ์ ํ๊ณ ์์ต๋๋ค. ํนํ Azure ๊ตฌ๋ฌธ์ด ์๋ํ๋๋ก ํ๋ ๊ฒ์ ๋๋ค. ๊ทธ๊ฐ ์ด๋ฌํ ํ ์คํธ ์ค ์ผ๋ถ์ ์๋๋ฅผ ์ผ๋ง๋ ๋์ผ ์ ์๋์ง, ์กฐ๊ฐ์ด ๋์๋์ง, ๊ฐํ์ ์ธ ์คํจ๋ฅผ ์ถ์ ํด์ผ ํ๋์ง ์ฌ๋ถ์ ๋ฐ๋ผ ์ค๋ ์ฌ์ ์ถ์๋ ์ ์์ต๋๋ค! ์๋๋ฉด ์ง๊ธ๋ถํฐ ๋ฉฐ์น ์ด ๋ ์๋ ์์ต๋๋ค.
์ฌ๋๋ค์ ์ด๋ป๊ฒ ๋์์ ์ค ์ ์๋์ง ๋ฌผ์์ต๋๋ค. ์์ผ๋ก ๋ฉฐ์น ๋๋ ๋ช ์ฃผ ๋์ @techalchemy ๋ Windows์์ ์๋ก์ด ์ํํ์ ํ ์คํธํ๋ ๋ฐ ํน๋ณํ ๋์์ด ํ์ํ ์ ์์ต๋๋ค. Windows์์ ํ ์คํธํ๋ ๋ฐ ๋์์ ์ฃผ๋ ค๋ฉด ์ด ๋๊ธ์ ๋ํ ๋: ์ด๋ชจํฐ์ฝ ๋ฐ์์ ์ฌ์ฉํ์ธ์.
Azure ํ์ดํ๋ผ์ธ ํ ํ๋ฆฟ์ ๋ํด ๋ง์ด ์๊ณ ์๋ ๊ฒฝ์ฐ IRC ์ฑ๋์ ๋ค์ด์ ์ค๋ ๋ฐ/๋๋ ๋ด์ผ ๋์์ ์ฃผ๋ ๊ฒ์ ๊ณ ๋ คํ์๊ฒ ์ต๋๊น?
PR ์งํ ์ํฉ์ ๋ํ ์ ๋ฐ์ดํธ๋ https://github.com/pypa/pipenv/pull/4169#issuecomment -607348834๋ฅผ ์ฐธ์กฐํ์ธ์.
Dan์ ํ ์คํธ๋ฅผ ํต๊ณผํ๋ ๋ฐ ๊ณ์ํด์ ์ง์ ์ ์ด๋ฃจ๊ณ ์์ต๋๋ค(#4169์ ๋ํ ์ฃผ์์ ๋ฐ๋ฅด๋ฉด ํ ์คํธ๊ฐ ๋ช ๋ฌ ์ ์ ์คํจํ๊ธฐ ์์ํ๊ธฐ ๋๋ฌธ์ ๊ทธ๋ ์ด PR๋ฟ๋ง ์๋๋ผ ์ฌ๊ธฐ์์ ๋ฐฑ๋ก๊ทธ๋ ๊ธฐ์ ๋ถ์ฑ๋ฅผ ์ฒ๋ฆฌํ๊ณ ์์ต๋๋ค). ํ์ค์ ๋ฐ์ํ์ฌ ์ด์ ์ ๋ชฉ์ ๋ณ๊ฒฝํ์์ต๋๋ค.
PR ์งํ ์ํฉ์ ๋ํ ํ๋ณตํ ์ ๋ฐ์ดํธ๋ https://github.com/pypa/pipenv/pull/4169#issuecomment -610017500์ ์ฐธ์กฐํ์ธ์.
Azure์์ Windows ํ ์คํธ ์คํจ๋ฅผ ํ์ ํ๋ ๋ฐ ๋์์ด ๋ ์ ์๋ค๋ฉด #4169๋ฅผ ์ดํด๋ณด๊ณ ์๊ฒฌ์ ๋ณด๋ด์ฃผ์ญ์์ค.
๋ค๋ฅธ ์ฌ๋๋ค์ด ๋์ธ ์ ์๋ ๋ฐฉ๋ฒ:
#4169์์ Windows ๋ฐ Azure ํ ์คํธ ์ ๋ฌธ ์ง์์ ์ ๊ณตํ ์ฌ๋๋ค์๊ฒ ๊ฐ์ฌ๋๋ฆฝ๋๋ค!
Dan์ #4169๋ฅผ ๋ฐฉ๊ธ ๋ณํฉํ์ผ๋ฉฐ ์๋ก์ด ์ํํ์ ๋ง๋ค๊ธฐ ์ ์ ๋ค๋ฅธ pull ์์ฒญ๋ ๋ณํฉํด์ผ ํ๋์ง ์ฌ๋ถ๋ฅผ ๊ฒฐ์ ํ๊ณ ์์ต๋๋ค. @techalchemy ๊ฐ ์ํํ์ ๋ง๋ค๊ณ ๋๋ฉด ํ ์คํธ์ ๋์์ ์์ฒญํ ๊ฒ์ ๋๋ค.
๋ก๋๋งต, ๊ธฐ์ฌ์ ๋ฐ ์ ์ง ๊ด๋ฆฌ์ ํ๋ก์ธ์ค ๊ฐ์ ์ ๋ํ ์ฅ๊ธฐ ๊ณํ์ ์คํํ๊ธฐ ์ํ ๋ณ๋์ ๋ฌธ์ #4130์ด ์์ต๋๋ค.
์ ๋ฌธ์ #4188์ ๊ธฐ์กด ์ค์น๋ฅผ ๊นจ๋จ๋ฆฌ๊ธฐ ๋๋ฌธ์ ๊ธด๊ธ ์์ ์ด ํ์ํ๋ฏ๋ก Dan์ด ๋จผ์ ์์ ์์ ์ ํ๊ณ ์์ต๋๋ค. ์ด์ ๋ฐ๋ผ ์ด ๋ฌธ์ ์ ์์ ๋ถ๋ถ์ ์ฒดํฌ๋ฆฌ์คํธ๋ฅผ ์ ๋ฐ์ดํธํ์ต๋๋ค.
@techalchemy ๋ ๋ฆด๋ฆฌ์ค ์ฐจ๋จ๊ธฐ๋ฅผ ์ฐพ๊ธฐ ์ํด ๊ธฐ์กด ๋ฌธ์ ๋ฅผ ๋ ์์ธํ ์กฐ์ฌํ ์๊ฐ์ด ์์ต๋๋ค. ํ๋ฆฌ๋ฆด๋ฆฌ์ฆ๋ฅผ ๊ฒ์ํ๊ณ ํ ์คํฐ๋ฅผ ๋ชจ์งํ ํ ๋ฌธ์ ๋ฅผ ์กฐ์ฌํ์ฌ ์ ๋ฆด๋ฆฌ์ค๋ฅผ ์ฐจ๋จํด์ผ ํ๋์ง ์ฌ๋ถ๋ฅผ ํ์ธํฉ๋๋ค.
์ด์ ๊ทธ์ ๋ค๋ฅธ pipenv ๊ฐ๋ฐ์๊ฐ Windows ํ ์คํธ ๋ฌธ์ (#4169 ๋ฐ ๊ธฐํ PR์์)๋ฅผ ํด๊ฒฐํ๊ณ Dan์ #4188์ ์ฒ๋ฆฌํ๋ ๋์(์ด์ ์ ํ๋ฅผ ๊ฑธ์ด์ค PyUp ์ฌ์ฉ์ ๋๋ถ์) ํ๋ฆฌ๋ฆด๋ฆฌ์ฆ๋ฅผ ๊ฐ๊ณ ์ถ์ต๋๋ค. ์ด๋ฒ ์ฃผ๋ง์ด๋ ์์์ผ์ pipenv๋ฅผ ์ข ๋ฃํฉ๋๋ค. ๋ฒ์ ๋ฒํธ๋ ์ ์ ์ ์ผ๋ก 2020.04.1a1์ด ๋ ์์ ์ ๋๋ค. ๊ทธ๋ฐ ๋ค์ ์ฝ ์ผ์ฃผ์ผ ๋์ ์๋ ํ ์คํธ ๋ฅผ ์ํํ ํ ์คํฐ๋ฅผ ๋ชจ์งํฉ๋๋ค.
์์ง ๊ณ ์น ์ ์์ง๋ง ๋ณ๋ ฌ ์์ ํ์ง ์์ ํ
์คํธ๊ฐ ํ๋ ์ด์ ์์ต๋๋ค. ํ
์คํธ๋ .azure-pipelines/steps/run-tests-windows.yml
pytest -n 3
๋ก ์คํ๋์ง๋ง ์บ์ ์ง์ฐ๊ธฐ ํ
์คํธ test_pipenv_clear
in tests\integration\test_cli.py
์ ๊ฐ์ ์์์ ์คํจ๊ฐ ๋ฐ์ํฉ๋๋ค.
์๋ง๋ ๋ชจ๋ cli ํ ์คํธ๋ ์บ์ ๊ฒฝ๋ก๋ฅผ ๊ณต์ ํ๋ฉฐ ๋ณ๋ ฌ๋ก ์คํํ์ง ์๊ฑฐ๋ ๊ฐ PipEnvInstance๊ฐ ๋ณ๋์ ๋ฃจํธ/ํ ๊ฒฝ๋ก๋ฅผ ์ฌ์ฉํ๋๋ก ํด์ผ ํฉ๋๋ค.
๋์ผํ ์ฝ๋์ ๋ ๊ฐ์ง ์คํ๋ ์ฐธ์กฐํ์ญ์์ค.
https://github.com/bneijt/pipenv/runs/596610863?check_suite_focus=true
https://github.com/bneijt/pipenv/runs/596726284?check_suite_focus=true
๋ค์ ์ค ํ๋๊ฐ ๋์์ด ๋ ์ ์์ง๋ง ํ๋ก์ ํธ๊ฐ ์ฒ์์ด๋ผ ์ด๋ป๊ฒ ํด์ผ ํ ์ง ์ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค.
์กฐ์ธ ๋ถํ๋๋ฆฝ๋๋ค.
pipenv ๋ฆด๋ฆฌ์ค๋ฅผ ์ง์ํด ์ฃผ์ ๋ชจ๋ ๋ถ๋ค๊ป ๊ฐ์ฌ์ ์ธ์ฌ๋ฅผ ์ ํฉ๋๋ค. ๊ทธ๊ฒ์ ๋งค์ฐ ๊ฐ์ฌํฉ๋๋ค. pipenv๋ ์ด๋ณด์๊ฐ ์ฒ์์ ๊ท์ฐฎ๊ฒ ํ ํ์๊ฐ ์๋ ๋ง์ virtualenv ๋ฒ๊ฑฐ๋ก์์ ์ถ์ํํ๊ธฐ ๋๋ฌธ์ ํนํ Python ์ด๋ณด์๋ฅผ ์ํ ๋๊ตฌ์ฌ์ผ ํฉ๋๋ค. ์ข์ ๋ฌผ๊ฑด!
์๋ ๋ชจ๋ ๊ทธ๋ฅ ์ฒดํฌ์ธ -- ์ข ์ ๋ฆด๋ฆฌ์ค์ ์์๊ณผ ๋ช ๊ฐ์ง ๋ ํธ๋ฅธ ๋ฌธ์ ์ ํจ๊ป ์ฌ์ํ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ต๋๋ค. ์ค๋ ๋ฐค๋ถํฐ ๋ชจ๋ ๊ฒ์ด ๋ น์์ด๋ฏ๋ก ๋ด์ผ ์ฌ์ ์ถ์๋ฉ๋๋ค :) ๊ธฐ๋ค๋ ค ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค!
๋ ๋ค๋ฅธ ๊ฐ๋จํ ์
๋ฐ์ดํธ๋ก, ๋ณต์ฌ๋ณธ์ ์์ ๋ฃ๊ณ ์ถ์ดํ๋ ๋ชจ๋ ์ฌ๋์ ์ํด ์ ์ ๋์ https://test.pypi.org์ ๋น๋๋ฅผ ๊ฒ์ํ์ต๋๋ค. ์ด๋ pip install --index-url=https://test.pypi.org pipenv
๋ฅผ ํตํด ์ค์นํ ์ ์์ต๋๋ค. ์์ง ์ด ๋น๋์ ๋ํ ์ ํจ์ฑ์ ๊ฒ์ฌํ์ง ์์์ง๋ง ํ
์คํธ PyPI์์ ์ด๋ฆ์ ์์ ๊ถ์ ์ฃผ์ฅํ๊ธฐ ์ํด ๋ฌด์ธ๊ฐ๋ฅผ ๊ฒ์ํด์ผ ํ์ต๋๋ค. :)
์ฌ๊ธฐ์ ๋ง์ง๋ง ๋จ๊ณ๋ ์ผ๋ จ์ ๋ฆด๋ฆฌ์ค๋ฅผ ์ํํ๊ธฐ ์ํด github ์์ ์ ํฌํ ํ๋ ๊ฒ์ ๋๋ค. ๋จผ์ ํ ์คํธ ์ธ์คํด์ค๋ก ์ด๋ํ ๋ค์ ์ค์ ๋ฆด๋ฆฌ์ค๋ฅผ ์ฒ๋ฆฌํฉ๋๋ค. ์ด๊ฒ์ด ๋ด๊ฐ ํ์ฌ ๋๋ถ๋ถ์ ๋ค๋ฅธ ํ๋ก์ ํธ์์ ๋ฆด๋ฆฌ์ค๋ฅผ ๊ด๋ฆฌํ๋ ๋ฐฉ๋ฒ์ด๋ฉฐ ๋จ์ผ ์คํจ ์ง์ ์ผ๋ก ๋๋ฅผ ์ ๊ฑฐํ๊ธฐ ๋๋ฌธ์ ํ๋ก์ธ์ค๋ฅผ ์ข ๋ ์ํํ๊ฒ ๋ง๋ค ๊ฒ์ ๋๋ค. ์ํดํด ์ฃผ์ ์ ๋ค์ ํ ๋ฒ ๊ฐ์ฌ๋๋ฆฌ๋ฉฐ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ฉด ์๋ ค์ฃผ์ธ์.
@techalchemy ๊ฐ์ฌํฉ๋๋ค! ์ฐธ๊ณ ๋ก ์ด๊ฒ์ ๋๋ฅผ ์ํด ์ผํ์ต๋๋ค.
pip install -i https://test.pypi.org/simple/ pipenv
pip uninstall pipenv
๋ฅผ ์ํํ ํ
ํน์ ๋ฒ์ ์ pip๋ฅผ ์ค์นํด์ผ ํ๋ ์๊ตฌ ์ฌํญ์ด ์์ต๋๊น? pipenv ์์ฒด ๋ด์์ ๊ณต๊ธ ์ ์ฒด๋ฅผ ์ฌ์ฉํ๋ค๊ณ ์๊ฐํ์ง๋ง ๋ค์ ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.
ํ์ผ "C:UsersaaAppDataRoamingPythonPython36site-packagespipenvcore.py", do_install_dependencies์ 862ํ
normal_deps, procs, failed_deps_queue, requirements_dir, install_kwargsํ์ผ "C:UsersaaAppDataRoamingPythonPython36site-packagespipenvcore.py", 776ํ, batch_installuse_pep517=use_pep517,pip_install์ ํ์ผ "C:UsersaaAppDataRoamingPythonPython36site-packagespipenvcore.py", 1484ํno_deps=no_deps, require_hashes=๋ฌด์_ํด์ ์๋get_pip_args์ ํ์ผ "C:UsersaaAppDataRoamingPythonPython36site-packagespipenvcore.py", 1341ํproject.environment.pip_version >= parse_version("19.0")์ธ ๊ฒฝ์ฐ:ํ๊ฒฝ์ ํ์ผ "C:UsersaaAppDataRoamingPythonPython36site-packagespipenvproject.py", 343ํself._environment.extend_dists(pipenv_dist)"C:UsersaaAppDataRoamingPythonPython36site-packagespipenvenvironment.py" ํ์ผ, 102ํ, extend_distsextras = self.resolve_dist(dist, self.base_working_set)resolve_dist์ ํ์ผ "C:UsersaaAppDataRoamingPythonPython36site-packagespipenvenvironment.py", 97ํdist = working_set.find(req)ํ์ผ "C:UsersaaAppDataRoamingPythonPython36site-packagesspkg_resources__init__.py", 644ํ, ์ฐพ๊ธฐVersionConflict(dist, req) ์ฌ๋ฆฌ๊ธฐpkg_resources.VersionConflict: ( pip 9.0.1 (c:programdataanaconda3libsite-packages), Requirement.parse('pip>=18.0')**)
์ฐ๋ฆฌ๋ python 3.6.0์ ์คํ ์ค์ด๊ณ pip์ ๊ธ๋ก๋ฒ ๋ฒ์ ์ ์
๋ฐ์ดํธํ๋ ๊ฒ์ ๊บผ๋ฆฝ๋๋ค. ์๋ํ๋ฉด ์ด์ ์๋ pip install blah
๋ฅผ ๋ ์ด์ ์คํํ ์ ์๊ณ python -m pip install blah
ํด์ผ ํ๊ธฐ ๋๋ฌธ์
๋๋ค.
@techalchemy ์ด์ฌํ ์ผํด์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค! ์ถ์๋ฅผ ๊ธฐ๋ํฉ๋๋ค
pip install --index-url= https://test.pypi.org pipenv๋ฅผ ํตํด ์ค์นํ ์ ์์ต๋๋ค.
๋๋ ์ด๊ฒ์ virtualenv์์ ๋น ๋ฅด๊ฒ ์๋ํ๊ณ ๋ค์์ ์ป์์ต๋๋ค.
> pip install -i https://test.pypi.org/simple/ pipenv
Looking in indexes: https://test.pypi.org/simple/
Collecting pipenv
Downloading https://test-files.pythonhosted.org/packages/d7/0d/aa8ee85ece59f7ee27282a6a39ec1d061560d76b27a5c40a4b478473a5dd/pipenv-2020.4.1a1-py2.py3-none-any.whl (3.8 MB)
|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ| 3.8 MB 1.7 MB/s
Requirement already satisfied: pip>=18.0 in ./.venc/lib/python3.6/site-packages (from pipenv) (20.0.2)
Requirement already satisfied: setuptools>=36.2.1 in ./.venc/lib/python3.6/site-packages (from pipenv) (46.1.3)
Collecting certifi
Downloading https://test-files.pythonhosted.org/packages/0e/67/0383b38ee00ffa9f93348998d0b474c1f5aa4a4ff562957294f1477a47b5/certifi-2016.8.8-py2.py3-none-any.whl (384 kB)
|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ| 384 kB 4.1 MB/s
ERROR: Could not find a version that satisfies the requirement virtualenv-clone>=0.2.5 (from pipenv) (from versions: none)
ERROR: No matching distribution found for virtualenv-clone>=0.2.5 (from pipenv)
test.pypi.org์์ virtualenv-clone์ ์ฌ์ฉํ ์ ์๊ธฐ ๋๋ฌธ์ด๋ผ๊ณ ๊ฐ์ ํฉ๋๋ค. venv์ ์๋์ผ๋ก virtualenv-clone
๋ฐ virtualenv
๋ฅผ ์ค์นํ๋ ๊ฒ์ด ๋์๊ฒ ๋์์ด ๋์์ต๋๋ค.
๋ค๋ฅธ ๋ถ๋ค์๊ฒ ๋์์ด ๋ ๊ฒ ๊ฐ์ ๊ณต์ ํฉ๋๋ค :)
@JeanFred ์๋:
pip uninstall pipenv
๊ทธ๋ฐ ๋ค์ ์ค์น๋ฅผ ๋ค์ ์คํํ์ญ์์ค.
๋ฐฉ๊ธ ํ์ฌ pipenv๋ฅผ ์ ๋ฐ์ดํธํ์ต๋๋ค.
pip install -i https://test.pypi.org/simple/ -U pipenv
๋งค๋ ฅ์ฒ๋ผ ์๋ํฉ๋๋ค! @techalchemy ๊ฐ์ฌํฉ๋๋ค!
@bneijt ๋ฐ๊ฒฌํ ํ ์คํธ ์ทจ์ฝ์ฑ์ ๋ํ ์๋ก์ด ๋ฌธ์ ๋ฅผ ์ ์ถํ๋ ๊ฒ์ด ์ข์ ์๊ฐ์ด ๋ ๊ฒ์ ๋๋ค. ๊ทธ๋ ์ง ์์ผ๋ฉด ์ฌ๊ธฐ์ ์ํํ ํ ์คํธ ํผ๋๋ฐฑ์์ ์ ๋ณด๊ฐ ์์ค๋ ๊น ๋๋ ต๊ธฐ ๋๋ฌธ์ ๋๋ค.
@JeanFred ์ ๋ํ ํ์ ์กฐ์น๊ฐ ์๋ ์ ์ ๋ํด ์ฌ๊ณผ๋๋ฆฝ๋๋ค pip install --index-url https://test.pypi.org/simple --extra-index-url https://pypi.org/simple --pre pipenv
๋ก ์ผ์์ ์ผ๋ก ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์์ต๋๋ค.
์กฐ๊ธ๋ง ๊ธฐ๋ค๋ ค์ฃผ์๋ฉด ๊ณง PyPI๋ก ํ๋ฆฌ๋ฆด๋ฆฌ์ฆ๋ฅผ ํธ์ํ๊ฒ ์ต๋๋ค.
@JeanFred ์ ๋ํ ํ์ ์กฐ์น๊ฐ ์๋ ์ ์ ๋ํด ์ฌ๊ณผ๋๋ฆฝ๋๋ค
pip install --index-url https://test.pypi.org/simple --extra-index-url https://pypi.org/simple --pre pipenv
๋ก ์ผ์์ ์ผ๋ก ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์์ต๋๋ค.์กฐ๊ธ๋ง ๊ธฐ๋ค๋ ค์ฃผ์๋ฉด ๊ณง PyPI๋ก ํ๋ฆฌ๋ฆด๋ฆฌ์ฆ๋ฅผ ํธ์ํ๊ฒ ์ต๋๋ค.
์๋ ํ์ธ์ @techalchemy , ์๊ณ ํด์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค! ๋ด๊ฐ ๋๋ฌด ๋นจ๋๋?
# pip install --index-url https://test.pypi.org/simple --extra-index-url https://pypi.org/simple --pre pipenv
Looking in indexes: https://test.pypi.org/simple, https://pypi.org/simple
Collecting pipenv
Downloading https://test-files.pythonhosted.org/packages/d7/0d/aa8ee85ece59f7ee27282a6a39ec1d061560d76b27a5c40a4b478473a5dd/pipenv-2020.4.1a1-py2.py3-none-any.whl (3.8MB)
100% |โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ| 3.8MB 368kB/s
Requirement already satisfied: setuptools>=36.2.1 in /usr/lib/python3/dist-packages (from pipenv) (40.8.0)
Collecting virtualenv-clone>=0.2.5 (from pipenv)
Could not install packages due to an EnvironmentError: 404 Client Error: Not Found for url: https://test.pypi.org/simple/virtualenv-clone/
์๋
ํ์ธ์. ํ
์คํธ pypi์ ๋ณต์ก์ฑ์ ํผํ ์ ์๋๋ก ์ํํ์ ์ผ๋ฐ pypi๋ก ํธ์ํ์ต๋๋ค. ๋ถ๋ด ์์ด pip install --upgrade --pre pipenv
2020.4.1b1
์ค์น๊ฐ ํ์๋์ด์ผ ํฉ๋๋ค.
๋ด์ผ ์ ์ ์ ๋ ๋ ์์ธํ ๋ด์ฉ์ ๋ณด๋ด ๋๋ฆฌ๊ฒ ์ต๋๋ค. ๊ทธ๋ฌ๋ ์ด๊ฒ์ ์กฐ๊ธ ํ ์คํธํ๊ณ ์ถ์ ์ฌ๋์ ์ด ๋ฌธ์ ์ ๋์ด๋ ์๋ ์ํฌํ๋ก๋ฅผ ์ฐธ์กฐํ๊ฑฐ๋ ๊ธฐ๋ฐ์ผ๋ก ๊ตฌ์ถํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
๊ธฐ๋ค๋ ค ์ฃผ์ ์ ๋ค์ ํ ๋ฒ ๊ฐ์ฌ๋๋ฆฝ๋๋ค!
์ ๋๋ค! ์ด ์ผ์ ํ๋ ๋ชจ๋ ๋ถ๋ค๊ป ๊ฐ์ฌ๋๋ฆฝ๋๋ค.
์์ง ์ด ๋ชจ๋ ๊ฒ์ ์ฝ์ง๋ ์์์ง๋ง ์ํ ๋ฆด๋ฆฌ์ค์ ๋ฒ ํ ๋ฒ์ ์ ๋ณธ ์ ์ด ์์ต๋๋ค. Fedora์์ ์ฐ๋ฆฌ๋ ํ๋ฆฌ๋ฆด๋ฆฌ์ฆ๋ฅผ ํ ์คํธํ ๊ฒ์ด์ง๋ง, ์ฐ๋ฆฌ๋ ๋ฉฐ์น ์ด ํ์ํ๊ณ ์ํ ์ดํ์ ๋น ๋ฅธ ๋ฒ ํ๋ ๋๋ฅผ ์กฐ๊ธ ๋๋ผ๊ฒ ํ์ต๋๋ค.
@hroncok ๋ฉ์ธ pypi์ ์ํ ๋ฆด๋ฆฌ์ค๋ ์ฃผ๋ก ๋ฆด๋ฆฌ์ค ์๋ํ ๋ณ๊ฒฝ์ ๊ฒ์ฆํ๊ธฐ ์ํ ๊ฒ์ด์์ผ๋ฉฐ ๋ฒ ํ ๋ฆด๋ฆฌ์ค๋ ์ต์ ์ผ์ฃผ์ผ ๋์ ์ ์ง๋ฉ๋๋ค. ์๊ฐ์ด ๋ ํ์ํ๊ฑฐ๋ ์ฌํฌ์ฅ์ ๋ํ ์ถ๊ฐ ๋ฌธ์ ๊ฐ ์๋ ๊ฒฝ์ฐ IRC์์ ์ ์๊ฒ ํ์ ๋ณด๋ด์ฃผ์ญ์์ค.
์๊ฐ์ด ๋ ํ์ํ๊ฑฐ๋ ์ฌํฌ์ฅ์ ๋ํ ์ถ๊ฐ ๋ฌธ์ ๊ฐ ์๋ ๊ฒฝ์ฐ IRC์์ ์ ์๊ฒ ํ์ ๋ณด๋ด์ฃผ์ญ์์ค.
ํ์ํ ๊ฒฝ์ฐ ํ ๊ฒ์ ๋๋ค. ๊ฐ์ฌํฉ๋๋ค.
ํธ์ง: ์ฌ๊ธฐ์์ ๋ง์ "์๋ก์ด ๋ฆด๋ฆฌ์ค๊ฐ ์๋ํฉ๋๋ค" ์ฌ์ฉ์ ๋ณด๊ณ ์๊ฐ ์์ฌ๋๊ธฐ ๋๋ฌธ์ ์ฌ๊ธฐ์์ ๊ตฌ๋ ์ ์ทจ์ํ์ต๋๋ค.
@techalchemy ๊ฐ์ฌํฉ๋๋ค! ์ด๋ฏธ ํ๋ก์ ํธ์์ ํ ์คํธ๋์์ผ๋ฉฐ ์ ์๋ํ๊ณ ์์ต๋๋ค!
# pip uninstall -y virtualenv virtualenv-clone pipenv
Uninstalling virtualenv-20.0.18:
Successfully uninstalled virtualenv-20.0.18
Uninstalling virtualenv-clone-0.5.4:
Successfully uninstalled virtualenv-clone-0.5.4
Uninstalling pipenv-2020.4.1a1:
Successfully uninstalled pipenv-2020.4.1a1
# pip install --pre pipenv
Collecting pipenv
Downloading https://files.pythonhosted.org/packages/c6/ae/de435f1da25056a181cbc3241d747b521f0caf8db0e5ca19400b9f120e7d/pipenv-2020.4.1b1-py2.py3-none-any.whl (3.8MB)
100% |โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ| 3.8MB 391kB/s
Collecting virtualenv-clone>=0.2.5 (from pipenv)
Using cached https://files.pythonhosted.org/packages/83/b8/cd931487d250565392c39409117436d910232c8a3ac09ea2fb62a6c47bff/virtualenv_clone-0.5.4-py2.py3-none-any.whl
Requirement already satisfied: setuptools>=36.2.1 in /usr/lib/python3/dist-packages (from pipenv) (40.8.0)
Requirement already satisfied: certifi in /usr/lib/python3/dist-packages (from pipenv) (2018.8.24)
Requirement already satisfied: pip>=18.0 in /usr/lib/python3/dist-packages (from pipenv) (18.1)
Collecting virtualenv (from pipenv)
Using cached https://files.pythonhosted.org/packages/23/1a/d55f5fb904564365c3d364fd41701a74ad497379f04fd548cccc3f227d98/virtualenv-20.0.18-py2.py3-none-any.whl
Requirement already satisfied: filelock<4,>=3.0.0 in /usr/local/lib/python3.7/dist-packages (from virtualenv->pipenv) (3.0.12)
Requirement already satisfied: distlib<1,>=0.3.0 in /usr/local/lib/python3.7/dist-packages (from virtualenv->pipenv) (0.3.0)
Requirement already satisfied: importlib-metadata<2,>=0.12; python_version < "3.8" in /usr/local/lib/python3.7/dist-packages (from virtualenv->pipenv) (1.6.0)
Requirement already satisfied: six<2,>=1.9.0 in /usr/lib/python3/dist-packages (from virtualenv->pipenv) (1.12.0)
Requirement already satisfied: appdirs<2,>=1.4.3 in /usr/local/lib/python3.7/dist-packages (from virtualenv->pipenv) (1.4.3)
Requirement already satisfied: zipp>=0.5 in /usr/local/lib/python3.7/dist-packages (from importlib-metadata<2,>=0.12; python_version < "3.8"->virtualenv->pipenv) (3.1.0)
Installing collected packages: virtualenv-clone, virtualenv, pipenv
Successfully installed pipenv-2020.4.1b1 virtualenv-20.0.18 virtualenv-clone-0.5.4
# pipenv --version
pipenv, version 2020.4.1b1
์๊ตฌ ์ฌํญ ํ์ผ์ ๊ฐ์ ธ์ค๋ ๋ฐ ๋ฌธ์ ๊ฐ ์์ต๋๋ค. ์ด๊ฒ์ python 3.8.2 ๋ฐ ์์ ์ต์ pipenv์ ์์ต๋๋ค.
Mathieus-MacBook-Pro: mhindery$ pipenv install -r requirements.txt
Creating a virtualenv for this projectโฆ
Pipfile: /<...>/Pipfile
Using /<...>/.pyenv/versions/3.8.2/bin/python3.8 (3.8.2) to create virtualenvโฆ
โ ง Creating virtual environment...created virtual environment CPython3.8.2.final.0-64 in 444ms
creator CPython3Posix(dest=/<...>-7y_bNLv7, clear=False, global=False)
seeder FromAppData(download=False, pip=latest, setuptools=latest, wheel=latest, via=copy, app_data_dir=/<...>/virtualenv/seed-app-data/v1.0.1)
activators BashActivator,CShellActivator,FishActivator,PowerShellActivator,PythonActivator,XonshActivator
โ Successfully created virtual environment!
Virtualenv location: /<...>-7y_bNLv7
Requirements file provided! Importing into Pipfileโฆ
Traceback (most recent call last):
File "/Users/mhindery/.pyenv/versions/3.8.2/lib/python3.8/site-packages/pipenv/project.py", line 789, in write_toml
formatted_data = tomlkit.dumps(data).rstrip()
File "/Users/mhindery/.pyenv/versions/3.8.2/lib/python3.8/site-packages/pipenv/vendor/tomlkit/api.py", line 42, in dumps
return data.as_string()
File "/Users/mhindery/.pyenv/versions/3.8.2/lib/python3.8/site-packages/pipenv/vendor/tomlkit/container.py", line 343, in as_string
s += self._render_aot(k, v)
File "/Users/mhindery/.pyenv/versions/3.8.2/lib/python3.8/site-packages/pipenv/vendor/tomlkit/container.py", line 412, in _render_aot
cur += self._render_aot_table(table, prefix=_key)
File "/Users/mhindery/.pyenv/versions/3.8.2/lib/python3.8/site-packages/pipenv/vendor/tomlkit/container.py", line 421, in _render_aot_table
if not table.is_super_table():
AttributeError: 'dict' object has no attribute 'is_super_table'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/Users/mhindery/.pyenv/versions/3.8.2/bin/pipenv", line 10, in <module>
sys.exit(cli())
File "/Users/mhindery/.pyenv/versions/3.8.2/lib/python3.8/site-packages/pipenv/vendor/click/core.py", line 829, in __call__
return self.main(*args, **kwargs)
File "/Users/mhindery/.pyenv/versions/3.8.2/lib/python3.8/site-packages/pipenv/vendor/click/core.py", line 782, in main
rv = self.invoke(ctx)
File "/Users/mhindery/.pyenv/versions/3.8.2/lib/python3.8/site-packages/pipenv/vendor/click/core.py", line 1259, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/Users/mhindery/.pyenv/versions/3.8.2/lib/python3.8/site-packages/pipenv/vendor/click/core.py", line 1066, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/Users/mhindery/.pyenv/versions/3.8.2/lib/python3.8/site-packages/pipenv/vendor/click/core.py", line 610, in invoke
return callback(*args, **kwargs)
File "/Users/mhindery/.pyenv/versions/3.8.2/lib/python3.8/site-packages/pipenv/vendor/click/decorators.py", line 73, in new_func
return ctx.invoke(f, obj, *args, **kwargs)
File "/Users/mhindery/.pyenv/versions/3.8.2/lib/python3.8/site-packages/pipenv/vendor/click/core.py", line 610, in invoke
return callback(*args, **kwargs)
File "/Users/mhindery/.pyenv/versions/3.8.2/lib/python3.8/site-packages/pipenv/vendor/click/decorators.py", line 21, in new_func
return f(get_current_context(), *args, **kwargs)
File "/Users/mhindery/.pyenv/versions/3.8.2/lib/python3.8/site-packages/pipenv/cli/command.py", line 231, in install
retcode = do_install(
File "/Users/mhindery/.pyenv/versions/3.8.2/lib/python3.8/site-packages/pipenv/core.py", line 1982, in do_install
import_requirements(r=project.path_to(requirements), dev=dev)
File "/Users/mhindery/.pyenv/versions/3.8.2/lib/python3.8/site-packages/pipenv/core.py", line 230, in import_requirements
project.add_index_to_pipfile(index, verify_ssl=trusted)
File "/Users/mhindery/.pyenv/versions/3.8.2/lib/python3.8/site-packages/pipenv/project.py", line 990, in add_index_to_pipfile
self.write_toml(p)
File "/Users/mhindery/.pyenv/versions/3.8.2/lib/python3.8/site-packages/pipenv/project.py", line 793, in write_toml
document[section] = tomlkit.container.Table()
TypeError: __init__() missing 3 required positional arguments: 'value', 'trivia', and 'is_aot_element'
Mathieus-MacBook-Pro: mhindery$ pipenv --version
pipenv, version 2020.4.1b1
Mathieus-MacBook-Pro: mhindery$ python --version
Python 3.8.2
Mathieus-MacBook-Pro:usermanagement mhindery$ pyenv --version
pyenv 1.2.18
Mathieus-MacBook-Pro: mhindery$
@mhindery ๋น ๋ฅธ ์์ ์ด #4219์ ์์ต๋๋ค.
๋ณ๋์ #4220์์ ๋ณด๊ณ ํ ์ค์ํ์ง ์์ ๊ฒ์ฒ๋ผ ๋ณด์ด๋ ์ค๋ฅ๋ฅผ ๋ฐ๊ฒฌํ์ต๋๋ค.
์๋
,
์ถ์ ํํ๋ฅผ ๋ณด๋ ๊ฒ์ด ์ข์ต๋๋ค.
๋๋ Mac Os์์ ์ํํ ๋ฒ์ ์ ์๋ํ๊ณ ์ถ์๊ณ ์ฌ๊ธฐ์ ์ธ๊ธ๋ 2๊ฐ๋ฅผ ์ ์ธํ๊ณ ๋๋ถ๋ถ์ ์ ๊ธ ๋ฐ ๋ด ํ๋ก์ ํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค์น๊ฐ ์๋ํ์ต๋๋ค.
https://github.com/pypa/pipenv/issues/4227
@techalchemy ๋ Python์ Discourse ํฌ๋ผ์์ ๋ค์์ ํฌํจํ ์ธ๋ถ ์ ๋ณด์ ํจ๊ป ์ํํ์ ๋ฐํํ์ต๋๋ค .
Windows ํ ์คํธ: ์ด์ ์ ์์ ํ ์ฌ๋๋ค์๊ฒ ์๋ ํ์ธ์! ์ง๊ธ๋ถํฐ 5์ 6์ผ๊น์ง ๊ฐ๋ฅํ ๊ฒฝ์ฐ Pipenv๋ฅผ ํ ์คํธํ๊ณ ๋ฒ๊ทธ๋ฅผ ์ ๊ณ ํ์ธ์ .
@๋ช
๋ น ํญ
@๋ฌธ๊ณ ์
@snakeice
@nicholasAlert
@madsmtm
@๋ง์ฐ์ค
@gmsantos
@davekeanexero
@lucidyan
@๋ธ๋ผํ์ค
@sudopriestmx
@amhrasmussen
Windows ํ ์คํธ: ์ด์ ์ ์์ ํ ์ฌ๋๋ค์๊ฒ ์๋ ํ์ธ์! ์ง๊ธ๋ถํฐ 5์ 6์ผ๊น์ง ๊ฐ๋ฅํ ๊ฒฝ์ฐ Pipenv๋ฅผ ํ ์คํธํ๊ณ ๋ฒ๊ทธ๋ฅผ ์ ๊ณ ํ์ธ์ .
์ด ๋งํฌ์์ ๋ช
๋ น์ ์คํํ๋๋ฐ pipenv update --dry-run
์์ธ #4229๊ฐ ๋ฐ์ํ์ต๋๋ค.
๋ค๋ฅธ ํ๋ก์ ํธ์ Linux/Ubuntu์์๋ ๋ฐ์ํ์ต๋๋ค. pipenv ์ ๋ฐ์ดํธ๊ฐ ์์๋๋ก ์๋ํฉ๋๋ค.
@techalchemy ๋ก ํ์ธํ์ง๋ ์์์ง๋ง ์ด ๋ฒ ํ๊ฐ ์ด๋ป๊ฒ ์งํ๋๊ณ ์๋์ง ์์๋ณด๊ธฐ ์ํด ์ด ๋ฆฌํฌ์งํ ๋ฆฌ์ 4๊ฐ์ Sarugaku ๋ฆฌํฌ์งํ ๋ฆฌ(์: requirementslib)๋ฅผ ๋น ๋ฅด๊ฒ ์ดํด๋ณด์์ต๋๋ค.
setup_requires
cython
$ ๊ฐ์ setup.py์ ๊ฒฝ์ฐ pipenv๋ ์ด๋ฅผ ์กด์คํ์ง ์๋ ๊ฒ ๊ฐ์ต๋๋ค. Pipfile ์ ๊ธ".@brainwane ์ฐธ๊ณ : sarugaku/requirementslib#229๋ ์ด ๋ฒ ํ์ ์ผ๋ถ์ธ sarugaku/requirementslib#228์ ์ค๋ช ๋ ํ๊ท ์์ ์ ๋๋ค.
@brainwane #4218๋ ์ฐจ๋จ๊ธฐ๊ฐ ๋ ๊ฒ ๊ฐ์๋ฐ์? ์ด๋ ํ๊ท์ด๋ฉฐ ํน์ ์ข ์์ฑ์ด ์๋ ๊ธฐ์กด ๋ฐ ์ ํ๋ก์ ํธ๋ฅผ ์์ ํ ์ค๋จํฉ๋๋ค.
์ฌ๊ธฐ์ ์ถ๊ฐ ์ ๋ฐ์ดํธ๋ฅผ ์ ๊ณตํ๊ธฐ ์ํด ์ ๋ ์ด ๋ฆด๋ฆฌ์ค๋ฅผ ๋ด์ผ ์ถ์ํ๋ ค๊ณ ๋ ธ๋ ฅํ ๊ฒ์ ๋๋ค(๊ณํ๋ณด๋ค ํ๋ฃจ ๋ฆ์์ง๋ง ๋ช ๊ฐ์ง ๋ฌธ์ ๋ ์ถ์ ํ๊ธฐ๊ฐ ์๋์ ์ผ๋ก ๊น๋ค๋ก์ ์ต๋๋ค. ํ ์คํธํ๊ณ ํผ๋๋ฐฑ์ ์ ๊ณตํ๊ณ ์งํ ์ค์ธ ๋ช ๊ฐ์ง ๋ฏธ๋ฌํ ๋ฌธ์ ์ ๋ํ ํต์ฐฐ๋ ฅ์ ์ ๊ณตํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค.
๋ฆด๋ฆฌ์ค ์ฐจ๋จ ๋ฌธ์ ์ ๋ํ ๋ ์ฒ ์ ํ ์ฌํ ๋ถ์์ ์ฌ๊ธฐ ์ ๊ฒ์ํ์ต๋๋ค. ์ด์ ๋น๋๊ฐ ์๋ฃ๋๊ธฐ๋ฅผ ๊ธฐ๋ค๋ฆฌ๊ณ ์์ง๋ง ํ ์์ผ ์ค์ 1์์ด๋ฏ๋ก ์๋ฌด๋ ์๋ ๋์ ์๋ฌด ๊ฒ๋ ๊นจ์ง ์๋ ๊ฒ์ ํผํ๊ธฐ ์ํด ์์์ผ๊น์ง ๋ฆด๋ฆฌ์ค๋ฅผ ์์ ํ ๊ฒ์ ๋๋ค. ๋ฐ์ํ๋ค / ๋ฐ์ํ๋ค
์ด๋ฌํ ๋ฌธ์ ์ค ์ผ๋ถ๋ฅผ ํด๊ฒฐํ๋ ๋ฐ ๋์์ด ๋๋ ๊ท์คํ ๋๋ฒ๊น ์ ๋ณด๋ฅผ ์ ๊ณตํ ๋ชจ๋ ์ฌ๋์๊ฒ ๋ค์ ํ ๋ฒ ๊ฐ์ฌ๋ฅผ ๋๋ฆฌ๋ฉฐ ํ๋ก์ธ์ค๊ฐ ํจ์ฌ ์ํํด์ก์ต๋๋ค.
@techalchemy ?
@Immortalin Dan์ด ์์์ผ์ ์ ์ฌ์ ์ผ๋ก ๋ฌด์ธ๊ฐ๋ฅผ ๊ธฐ๋ํ๋ค๊ณ ํด๋ ๊ทํ์ ์๊ฒฌ์ ๊ฑด์ค์ ์ด์ง ์์ต๋๋ค. ์์ ์ ํ์ธํ์๊ธฐ ๋ฐ๋๋๋ค.
๋, ์ฐ๋ฆฌ ๋ชจ๋๋ ๋น์ ์ ๋ ธ๊ณ ์ ๊ฐ์ฌ๋๋ฆฝ๋๋ค. ๋๋ ์ฐ๋ฆฌ ๋๋ถ๋ถ์ด ๋น์ ์๊ฒ ๋์์ด ๋ ๋ ๋ง์ ๋ฐฉ๋ฒ์ ์ฐพ์์ผ ํ๋ค๋ ๊ฒ์ ์๊ณ ์๋ค๊ณ ์๊ฐํฉ๋๋ค.
pipenv install --outdated
์คํจ).๋ค๋ฅธ ๋ฒ ํ ๋ฒ์ ์ ์ถ์ํ ๊ณํ์ด ์์ต๋๊น? ๋ฒ์ 2020.4.1b1์ ์ฌ์ฉ ์ค์ด๊ณ psycopg2๋ก ํ๋ก์ ํธ๋ฅผ ์ ๊ทธ๋ ๋์ ์ค๋ฅ๊ฐ ๋ฐ์ํ์ต๋๋ค. #4231๊ณผ ๊ฐ์ ์์ ์ฌํญ์ด ์์ผ๋ฏ๋ก ์ด๋ฏธ ์์ ๋ ์ฌํญ์ ๋ณด๊ณ ํ๋ ๊ฒ๋ณด๋ค ๋ชจ๋ ๋ฒ๊ทธ ์์ ์ด ํฌํจ๋ ์ต์ ๋ฒ์ ์ pipenv๋ฅผ ์ฌ์ฉํ์ฌ ํ์ธํ๊ณ ์ถ์ต๋๋ค.
๋ค์์ ๋ฆด๋ฆฌ์ค ์ ๋ฐ์ดํธ์ ๋๋ค. Tl; dr: ๊ณต๊ธ์ ์ฒด๋ฅผ pipenvํ๋ ์ข ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ ๋ฐ์ดํธํ๋ ๋ฐ ์๊ธฐ์น ์์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ฌ ์ง์ฐ์ด ๋ฐ์ํ์ต๋๋ค. ๋ฉฐ์น ๋ด๋ก ์๋ก์ด ํ๋ฆฌ๋ฆด๋ฆฌ์ฆ๊ฐ ์์ ๊ฒ์ ๋๋ค.
์ธ๋ถ:
์ง๋ ์ฃผ ๋ง, ๋๋ #4195๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด vissir์์ ๊ฐ๋จํ ์์ ์ฌํญ์ ๋ณํฉํ๊ณ ์์์ต๋๋ค. ์ถ์๋ฅผ ์ค๋นํ๋ฉด์ ๋น ๋ฅด๊ฒ ๋ณต์ํด์ผ ํ๋ ๊ฒ์ ์ผ๋ถ๋ก ์ด ๋ณ๊ฒฝ์ ์ํํ์ต๋๋ค. vistir๋ Pipenv์ ๋ํ ์ผ๋ถ ํ๋ซํผ ๊ฐ/Python 2/3 ํธํ์ฑ ์ง์์ ์ ๊ณตํ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค ํ๋์
๋๋ค. ๊ทธ๋ฌ๋ CI๋ ์ฌ๋ฌ ๊ฐ์ง ์ด์ํ ์ด์ ๋ก ์ ๋ฐ์ ์ผ๋ก ์คํจํ์ผ๋ฉฐ ์ฌ๋ฐ๋ฅด๊ฒ ํ์
ํ๊ณ ํด๊ฒฐํ๋ ๋ฐ ์ฝ๊ฐ์ ์๊ฐ์ด ์์๋์์ต๋๋ค. ์ด์จ๋ ์์ ์ฌํญ์ ๋๋๋ฆฌ๊ณ ๋ฆด๋ฆฌ์คํ ์๋ ์์์ต๋๋ค. ์ด ์์ ์ฌํญ์ด ์์ผ๋ฉด Pipenv์์ ํ๋ซํผ ๊ฐ ๋ฐ ํธํ์ฑ์ด ๊นจ์ง ์ํ์ด ์๊ธฐ ๋๋ฌธ์
๋๋ค.
๊ณํ:
๋จผ์ ์ด ๋ฆด๋ฆฌ์ค์ ํฌ์ ํ๊ณ ์ด ํ๋ก์ ํธ๋ฅผ ๊ณ์ ์งํํด ์ฃผ์ ๋ฐ ๋ํด ๋๋จํ ๊ฐ์ฌํฉ๋๋ค. Pipenv๋ ์ ๋ฅผ ์ฌ๋ฌ ๋ฒ ๊ตฌํด์ฃผ์์ต๋๋ค.
๋ชจ๋ ๋ง๊ณผ ์ฃผ์ ์์ ์ฝ๊ฐ ๋ฒ์ด๋ ์ํ์ด ์์ต๋๋ค. ๋ฆด๋ฆฌ์ค ํ๋ก์ธ์ค์ ์ต์ ๋ฌธ์ ๋ฅผ ๊ฐ์ํ ๋
์ง๋ ์ฃผ ๋ง, ๋๋ #4195๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด vissir์์ ๊ฐ๋จํ ์์ ์ฌํญ์ ๋ณํฉํ๊ณ ์์์ต๋๋ค. ์ถ์๋ฅผ ์ค๋นํ๋ฉด์ ๋น ๋ฅด๊ฒ ๋ณต์ํด์ผ ํ๋ ๊ฒ์ ์ผ๋ถ๋ก ์ด ๋ณ๊ฒฝ์ ์ํํ์ต๋๋ค. vistir๋ Pipenv์ ๋ํ ์ผ๋ถ ํ๋ซํผ ๊ฐ/Python 2/3 ํธํ์ฑ ์ง์์ ์ ๊ณตํ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค ํ๋์ ๋๋ค. ๊ทธ๋ฌ๋ CI๋ ์ฌ๋ฌ ๊ฐ์ง ์ด์ํ ์ด์ ๋ก ์ ๋ฐ์ ์ผ๋ก ์คํจํ์ผ๋ฉฐ ์ฌ๋ฐ๋ฅด๊ฒ ํ์ ํ๊ณ ํด๊ฒฐํ๋ ๋ฐ ์ฝ๊ฐ์ ์๊ฐ์ด ์์๋์์ต๋๋ค. ์ด์จ๋ ์์ ์ฌํญ์ ๋๋๋ฆฌ๊ณ ๋ฆด๋ฆฌ์คํ ์๋ ์์์ต๋๋ค. ์ด ์์ ์ฌํญ์ด ์์ผ๋ฉด Pipenv์์ ํ๋ซํผ ๊ฐ ๋ฐ ํธํ์ฑ์ด ๊นจ์ง ์ํ์ด ์๊ธฐ ๋๋ฌธ์ ๋๋ค.
python 2 ์ง์์ ์ค๋จํ๊ณ (EOL) ํด๋น ์๊ตฌ ์ฌํญ(์: vistir ๋ฐ ๊ธฐํ)์ ์ ๊ฑฐํ๋ ๊ฒ์ ๊ณ ๋ คํ์ต๋๊น?
์ฅ๊ธฐ์ ์ธ python2 ์ง์์ด ์ค๋จ๋ ๊ฒ์ด๋ผ๊ณ ๊ฐ์ ํ์ง๋ง ์ง๊ธ ์ค๋จํ๋ฉด ๋ฆด๋ฆฌ์ค ํ๋ก์ธ์ค๊ฐ ๋จ์ํ๋๊ณ ํ๋ก์ ํธ์ ๋ณต์ก์ฑ์ด ์ค์ด๋ค๋ฉฐ ์ด ๋ฆด๋ฆฌ์ค๋ฅผ ๋ ์ฝ๊ฒ ์๋ผ๋ผ ์ ์์ต๋๋ค. ์๋ง๋ ๋์ค์๋ณด๋ค๋ ์ง๊ธ ์ํํด์ผ ํ์ง ์์๊น์?
ps ๋ ธ๊ณ ์ ๋ค์ํ๋ฒ ๊ฐ์ฌ๋๋ฆฝ๋๋ค
ํธ์ง: flimm์ด ์ ์ํ ๋๋ก 2020๋ ์ฒซ ๋ฒ์งธ ๋ฆด๋ฆฌ์ค์์ ๋ํ๋ฅผ ์ ์งํ๊ธฐ ์ํด python 2๋ฅผ ์ญ์ ํ๋ ๊ฒ์ ๋ํ ํ ๋ก ์ ์ํด ๋ค๋ฅธ ๋ฌธ์ #4261์ ์ด์์ต๋๋ค.
์๋๋ฝ๊ฒ ๋๊ปด์ง ์ ์์ผ๋ฏ๋ก ๋ณ๋์ GitHub ๋ฌธ์ ์์ Python 2์ ๋ํ ์ง์ ์ค๋จ์ ๋ํด ๊ณ์ ์ด์ผ๊ธฐํฉ์๋ค.
@r-richmond vistir๋ ๋ ผ๋ฆฌ์ Python 3 ๋ถ๊ธฐ์์๋ ์ฌ์ฉ๋๋ฏ๋ก Python 2์ ๋ํ ์ง์์ ์ ๊ฑฐํ๋ค๊ณ ํด์ ์ด๋ฒ ๋ฆด๋ฆฌ์ค๊ฐ _๋ ์ฌ์์ง์ง๋ ์์ ๊ฒ ๊ฐ์ต๋๋ค.
๊ทธ๋์ ์ ๋ pipenv์ ๋ ๋ค๋ฅธ ์ํํ ( 2020.4.1b2
-- ๋ฆด๋ฆฌ์ค์๋ ์ถ์์ผ์ ํ๊ทธ๊ฐ ์ง์ ๋๋ฏ๋ก ์ด๋ฆ ์ง์ ์ ๋ํด ํฌ๊ฒ ๊ฑฑ์ ํ์ง ๋ง์ญ์์ค)์ ์๋ผ๋์ต๋๋ค.
์ด ๋ฆด๋ฆฌ์ค๋ ๋ด๊ฐ ํฌํจํ๊ณ ์ ํ๋ ๋ชจ๋ ๋ณ๊ฒฝ ์ฌํญ์ด ์๋๋๋ผ๋ ๋๋ค์๋ฅผ ์ฐจ์งํ๋ค๊ณ ์๊ฐํฉ๋๋ค. ๋๋ pip install
์ด๋ฏธ ๋ง์กฑ๋ ์ข
์์ฑ์ ์๋ํ๊ธฐ ์ํด ํ๋ก์ธ์ค๋ฅผ ๋ค์ ์์ํ๋ ๊ฒ์ ํผํด์ผ ํ๋ ๋ง์ง๋ง ์ํํ ์ดํ์ ํ ๊ฐ์ง ์ค์ํ ๋ณ๊ฒฝ ์ฌํญ์ ๋ณํฉํ์ต๋๋ค. .
ํ ์คํธ๋ฅผ ๋๊ณ ํผ๋๋ฐฑ์ ์ ๊ณตํ๊ณ ์์ ์ฌํญ์ ๋ณํฉํ๋ ๋ฐ ๋์์ ์ฃผ์ ๋ชจ๋ ๋ถ๋ค๊ป ๋ค์ ํ ๋ฒ ๊ฐ์ฌ๋๋ฆฝ๋๋ค!
๋ฐฉ๊ธ @techalchemy ์ ์ด์ผ๊ธฐํ์ต๋๋ค. ๊ทธ๋ #4263๊ณผ #3592๊ฐ ์ฐจ๋จ๋์ง ์์๋์ง ํ์ธํ๊ณ ์์ต๋๋ค. ๊ทธ๋ ๋ํ ๋งํ๋ค
๋๋ ๊ณต๊ธ ์ ์ฒด ๊ฐ์ ธ ์ค๊ธฐ ๊ฒฝ๋ก์ ๋ํ ํ ๊ฐ์ง ๋ฌธ์ ๋ง ๋ณด์์ต๋๋ค ...
๋ณต๊ตฌ๊ฐ ์๋ฃ๋์๊ณ ๊ฐ์ ธ์ค๊ธฐ ๊ฒฝ๋ก ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์ง ์์์ผ๋ฏ๋ก ์ง๊ธ์ ๋ฌธ์ ์ ๋ํ PR์ ์๋ฝํ๊ณ ์ด์ ๋ํ ํจ์น๋ฅผ ์์ฑํ๊ฒ ์ต๋๋ค.
๋๋ ์ด๊ฒ์ด #4267์ด๋ผ๊ณ ๊ฐ์ ํ์ง๋ง ํ์คํ์ง ์์ต๋๋ค.
์ผ๋จ ์ฒ๋ฆฌ๋๋ฉด ์ค๋ ์๋ฐฉ์ ๋ชฉํ๋ก ํ๊ณ ์๋ค๊ณ ์๊ฐํฉ๋๋ค.
^ ์ถ์๊ฐ ๋๋ฌ์ต๋๋ค. ํ ์คํธ์ ๋์์ ์ฃผ์ ๋ชจ๋ ๋ถ๋ค๊ป ๊ฐ์ฌ๋๋ฆฝ๋๋ค!
์! ์ ๋ง ๋๋จํด! pipenv๋ฅผ ๋ค์ ์ฌ์ฉํ ์ ์๊ฒ ํด์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค!
2020๋ 5์ 28์ผ ๋ชฉ์์ผ 15:17 Dan Ryan, [email protected] ์ด ๋ค์๊ณผ ๊ฐ์ด ์ผ์ต๋๋ค.
^ ์ถ์๊ฐ ๋๋ฌ์ต๋๋ค. ํ ์คํธ์ ๋์์ ์ฃผ์ ๋ชจ๋ ๋ถ๋ค๊ป ๊ฐ์ฌ๋๋ฆฝ๋๋ค!
โ
์ด ์ค๋ ๋์ ๊ฐ์ ํ๊ธฐ ๋๋ฌธ์ ์ด ๋ฉ์์ง๋ฅผ ๋ฐ๊ณ ์์ต๋๋ค.
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ณ GitHub์์ ํ์ธํ์ธ์.
https://github.com/pypa/pipenv/issues/3369#issuecomment-635107609 ๋๋
๊ตฌ๋ ์ทจ์
https://github.com/notifications/unsubscribe-auth/AAAOGWNSCAEOBRJ5S4WZHADRTXXWHANCNFSM4GJK7LZA
.
^ ์ถ์๊ฐ ๋๋ฌ์ต๋๋ค. ํ ์คํธ์ ๋์์ ์ฃผ์ ๋ชจ๋ ๋ถ๋ค๊ป ๊ฐ์ฌ๋๋ฆฝ๋๋ค!
๋๋จํ ๊ฐ์ฌํฉ๋๋ค! :+1: :partying_face:
https://pypi.org/project/pipenv/#history ์ ๋ฐ๋ผ Pipenv 2020.5.28์ด ์ถ์๋์์ผ๋ฏ๋ก ์ด ๋ฌธ์ ์ ๋ฆด๋ฆฌ์ค ๋ง์ผ์คํค ์ ๋ซ์ต๋๋ค.
@techalchemy ์๊ฒ ๊ฐ์ฌ๋๋ฆฝ๋๋ค. ๊ทธ๋ฆฌ๊ณ ํ๋ฃจ ์ค ์ผ๋ถ ์๊ฐ์ ์ด ์์ ์ ์ํํ ์ ์๋๋ก ํด์ค Canonical์๋ ๊ฐ์ฌ๋๋ฆฝ๋๋ค.
์ ์๊ฐ์: ์ ๋ฌด์ Python์ ์ฌ์ฉํ๊ณ ์ด ๋๊ตฌ์ ๋ค๋ฅธ Python ํจํค์ง/๋ฐฐํฌ/์ค์น ๋๊ตฌ๋ฅผ ๋ ์ข๊ณ ๋ ์์ฃผ ๋ฆด๋ฆฌ์ค ํ๋ ค๋ฉด ๊ณ ์ฉ์ฃผ์๊ฒ ํ์์ ์์ฒญํ์ญ์์ค . ๋ ํฐ ์์ฐ์ด ์๋ ๊ฒฝ์ฐ Packaging Working Group ์ ์ด๋ฌํ ํ๋ก์ ํธ๋ฅผ ์ง์์ ์ผ๋ก ์์ ํ๊ณ ์ ์ ์งํ๊ธฐ ์ํด ๊ณ์ฝ์์๊ฒ ๋น์ฉ์ ์ง๋ถํ ์ ์์ต๋๋ค.
์์ ๋ด์ฌ๋ฅผ ํตํด ๋์์ ์ฃผ๊ณ ์ถ๋ค๋ฉด ์ด ๋ฐํ ๋ฅผ ์ฝ๊ณ Pipenv์ ๋ก๋๋งต ๋ฐ ๊ธฐ์ฌ์-์ ์ง ๊ด๋ฆฌ์ ํ๋ก์ธ์ค ๊ฐ์ ์ ๋ํ ๋ฌธ์ #4130์ ๋ฐ๋ฅด์ญ์์ค.
์ด ๋ฆด๋ฆฌ์ค์ ๊ธฐ์ฌํ ๋ชจ๋ ์ฌ๋(์ฌ์ฉ์, ํ ์คํฐ, ์ ํธ ๋ถ์คํฐ, ๋ฆฌ๋ทฐ์ด, ํจ์น ์์ฑ์, ์ฌ๊ธฐ ๋๊ธ์ด๋ ๋ฉ์ผ๋ง ๋ฆฌ์คํธ ๋ฐ ์์ ๋ฏธ๋์ด์์ ์ข์ ๋ง์ ํ ์ฌ๋๋ค)์๊ฒ ๊ฐ์ฌํฉ๋๋ค!
(์ ๋ ๋ณ๋ชฉ ํ์์ ํด์ํ๊ณ ์ด ๋ฆด๋ฆฌ์ค๋ฅผ ์ถ์ํ๋ ๋ฐ ํ์ํ ๊ฒ๊ณผ ๋ค๋ฅธ ํ๋ก์ ํธ์ ๋ํด ์ด๋ฅผ ๋ณต์ ํ๊ธฐ ์ํด ํ ์ ์๋ ์์ ์ ๋ํด ๋ธ๋ก๊ทธ ๊ฒ์๋ฌผ ์ ์์ฑ ํ์ต๋๋ค .
Sumana, ๊ทธ ์ด์ผ๊ธฐ๋ฅผ ๊ณต์ ํด ์ฃผ์
์ ๊ฐ์ฌํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋น์ ์
pipenv ๋ถํฅ์ ์๊ฐ๊ณผ ์๋์ง. ๋ง์ํ์ ๋๋ก ์ ๊ธ ํด์ ๋ ๊ฐ์
์์ฒญ๋๋ค.
2020๋
9์ 11์ผ ๊ธ์์ผ 21:05 Sumana Harihareswara [email protected]
์ผ๋ค:
(๋ธ๋ก๊ทธ ํฌ์คํธ๋ฅผ ์์ฑํ์ต๋๋ค https://www.harihareswara.net/sumana/2020/09/08/0
๋ณ๋ชฉ ํ์์ ํด๊ฒฐํ๊ณ ์ด ๋ฆด๋ฆฌ์ค๋ฅผ ์ถ์ํ๋ ๋ฐ ํ์ํ ์์ ์ ๋ํด
์ด๊ฒ์ ๋ค๋ฅธ ํ๋ก์ ํธ์ ๋ณต์ ํ๊ธฐ ์ํด ํ ์ ์๋ ์ผ์ ๋ํด --
๋ณธ์ธ ๋๋ ์ ํ์ฌ์ธ Changeset Consulting https://changeset.nyc/ ๋ฅผ ํตํด
.)โ
์ด ์ค๋ ๋์ ๊ฐ์ ํ๊ธฐ ๋๋ฌธ์ ์ด ๋ฉ์์ง๋ฅผ ๋ฐ๊ณ ์์ต๋๋ค.
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ณ GitHub์์ ํ์ธํ์ธ์.
https://github.com/pypa/pipenv/issues/3369#issuecomment-691029882 ๋๋
๊ตฌ๋ ์ทจ์
https://github.com/notifications/unsubscribe-auth/AAAOGWNIKWJKNTMUH5PNUZ3SFIAAZANCNFSM4GJK7LZA
.
--
์๋ฅด
์๋ ํ์ธ์ ์ฌ๋ฌ๋ถ,
์ด๊ฒ์ #3488์์ ๋ณผ ์ ์๋ WSL ๋ฌธ์ ๋ฅผ ํด๊ฒฐํฉ๋๊น?
์ธ๊ธํ์ ๋ฌธ์ ๋ pipenv์์ ํด๊ฒฐํ ์ ์์ต๋๋ค. ๋ฌธ์ ์ ์ค๋ช ๋ ๋๋ก ํ๊ฒฝ์ ์ง์ ๊ตฌ์ฑํด์ผ ํฉ๋๋ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
^ ์ถ์๊ฐ ๋๋ฌ์ต๋๋ค. ํ ์คํธ์ ๋์์ ์ฃผ์ ๋ชจ๋ ๋ถ๋ค๊ป ๊ฐ์ฌ๋๋ฆฝ๋๋ค!