(2020๋ 4์ ํ์ค ๋ฐ์ํ์ฌ ์ ๋ฐ์ดํธ)
์ด ๋ฌธ์ ๋ ์ฒ์์ ํจํค์ง๋ฅผ ์
๊ทธ๋ ์ด๋ํ ๋ ๋ค๋ฅธ ๋์์ผ๋ก ์๋ก์ด upgrade
๋ช
๋ น์ ์ถ๊ฐํ์ฌ pip install --upgrade
์ ๋์์ ๋ณ๊ฒฝํ๋ ๋ฒ์์ ์์์ต๋๋ค. ์ค๋๋ ์ฌ๊ท์ "์ด๋ง" ๊ธฐ๋ณธ๊ฐ์ ๋ง์ ์ฌ๋๋ค์๊ฒ ์ฌํ์ ์๊ฒผ์ต๋๋ค(#304). ๊ทธ๋ฌ๋ ์ด์ ๋ํ ๋ง์ ๋
ผ์ ๋์ --upgrade-strategy
ํ๋๊ทธ๋ฅผ ์ถ๊ฐํ๋ ๋ฐฉ๋ฒ์ ํํ์ต๋๋ค. ํ๋๊ทธ๋ ์ด๊ธฐ์ "์ด์ฌํ"์ ๊ธฐ๋ณธ๊ฐ์ ๊ฐ์ง๊ณ ์์๋๋ฐ #4500์์ ๋ ๋์ ๊ธฐ๋ณธ๊ฐ์ผ๋ก ๋ณ๊ฒฝ๋์์ต๋๋ค.
"๋ชจ๋ ํจํค์ง ์ ๊ทธ๋ ์ด๋" ๊ธฐ๋ฅ์ ๋ํ ์ถ์ ๋ฌธ์ ๋ #4551์ ๋๋ค.
"์
๊ทธ๋ ์ด๋"๋ "์ค์น --์
๊ทธ๋ ์ด๋"์ ๊ฐ๋จํ ๋ณ์นญ์
๋๋ค. ์กฐ๊ธ ๋ ์๊ฐํด๋ณผ ํ์๊ฐ ์๋ค
"์
๊ทธ๋ ์ด๋ ์ ์ฒด"์ ๋ํด; ํ ๊ฐ์ง๋ ํจํค์ง๋ง ์
๊ทธ๋ ์ด๋ํ๋ค๊ณ ๊ฐ์ ํฉ๋๋ค.
๋ด๋ถ sys.prefix? (์ฆ, virtualenv ์์ ์๋ ๊ฒฝ์ฐ ์๋ํ์ง ์์ต๋๋ค.
๊ธ๋ก๋ฒ ํจํค์ง ์
๊ทธ๋ ์ด๋). ์ด์ฌ๋ฅผ ๊ฐ์ผ ํ๋ ์ด์ ๊ฐ ๋๊ฒ ์ฃ
UninstallPathSet.can_uninstall()์ ๋ณด๋ค ์ผ๋ฐ์ ์ผ๋ก ๋ช
๋ช
๋ ํจ์(๋๋
InstallRequirement์ ๋ฐฉ๋ฒ), ๊ทธ๋์ ์ผ๋ฐ์ ์ธ "์ด๊ฒ์ ๋ง์ง ์ ์์ต๋๊น?"๋ฅผ ์ ๊ณตํฉ๋๋ค.
๊ฒฐ์ .
Original Comment By: Carl Meyer
๊ธฐ๋ก์ ์ํด, ๋๋ ๊ทธ๊ฒ์ด ๋ฅ๋ ฅ์ ๊ฐ์ํ ๋ ์ข์ ์๊ฐ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค.
์
๊ทธ๋ ์ด๋ํ๊ธฐ ์ ์ ์ ๊ฑฐํ์ญ์์ค. --all
์ต์
์ ์ ํธํ์ง๋ง
upgrade
upgrade-all
๋ช
๋ น ๋์ upgrade
.
can_uninstall()์ ๊ฒฝ์ฐ ๋์ํฉ๋๋ค.
์ด์จ๋ ์ ์ธ๊ณ์ ์ผ๋ก.
Original Comment By: Jannis Leidel
๋๋ install --upgrade์ ๋ณ์นญ์ผ๋ก ์
๊ทธ๋ ์ด๋ํ๋ ๊ฒ์ ์ ์ ์ผ๋ก ๋ฐ๋ํ์ง ์์ต๋๋ค. ํ์ง๋ง
์ฝ๊ฐ ์ฌ์ํ ๊ฒ ๊ฐ์ต๋๋ค.
upgrade-all์ ์ฌ์ฉํ๋ ค๋ฉด "์
๊ทธ๋ ์ด๋ ๊ฐ๋ฅํ" ํญ๋ชฉ์ ํ์
ํด์ผ ํฉ๋๋ค. ์๋ง ํ๋
์ ์ ์กฐ๊ฑด์ ๊ทธ๊ฒ์ด ์ด๊ณ ์๋ค๋ ๊ฒ์
๋๋ค
(๋จ์ํ sys.prefix์์ ์ถฉ๋ถํ์ง ์์ต๋๋ค).
"zip import"์ ๊ฐ์ ๊ฒ์ ํ์ฉํ๋ ๊ฒฝ์ฐ(๋ถ๋ชจ๋ก๋ถํฐ ํจํค์ง๋ฅผ ๊ฐ์ ธ์ค๊ธฐ ์ํด
ํ๊ฒฝ์ virtualenv ํ๊ฒฝ์ผ๋ก) ๊ทธ๋ฐ ๋ค์ ์๋ง๋ ๊ทธ ์์ ํจํค์ง
์์ ํ๊ฒฝ์ ์
๊ทธ๋ ์ด๋ํด์๋ ์ ๋์ง๋ง ์ด๊ฒ์ด ๋ฌด์์ธ์ง 100% ๋ช
ํํ์ง ์์ต๋๋ค.
์ฌ์ฉ์๋ ๊ธฐ๋ํ ๊ฒ์
๋๋ค.
"pip uninstall"์ ์ฌ์ฉํ์ฌ ํธ์ง ๊ฐ๋ฅํ ํจํค์ง๋ฅผ ์ ๊ฑฐํ๋ ค๊ณ ์๋ํ์ง๋ง ๊ฝค
.egg-link๋ฅผ ์ ๊ฑฐํ๊ณ easy-install.pth๋ฅผ ์
๋ฐ์ดํธํ๋๋ก ํฉ๋ฆฌ์ ์ผ๋ก ์ ์๋์์ต๋๋ค. ๊ทธ๋ฌ๋ ๊ทธ๊ฒ์
ํจํค์ง๋ฅผ ํฉ๋ฆฌ์ ์ผ๋ก ์
๊ทธ๋ ์ด๋ํ ์ ์์์ผ๋ฏ๋ก can_uninstall์ ๋ค์
can_upgrade์ ๋ค๋ฆ
๋๋ค.
Original Comment By: Ian Bicking
์, can_uninstall๊ณผ can_upgrade๊ฐ ๋ค๋ฅด๋ค๋ ๊ฒ์ด ๋ง์ต๋๋ค.
"pip import"๊ฐ ์์ผ๋ฉด ์ฌ์ ํ ์
๊ทธ๋ ์ด๋ํ๊ณ ์ถ์ง ์์ ๊ฒ์
๋๋ค.
๊ฐ์ ธ์จ ๊ธ๋ก๋ฒ ํจํค์ง; ๊ทธ๋ฌ๋ (ํธ์ง ๊ฐ๋ฅ ํญ๋ชฉ๊ณผ ํจ๊ป) "๊ทธ๋ ์ง ์์
์ด" ๊ฒฝ๊ณ ๋ฅผ ์ฝ์์ ์
๊ทธ๋ ์ด๋ํฉ๋๋ค.
Original Comment By: Carl Meyer
์ด ๋ฒ๊ทธ์ ๋ํด +1
Original Comment By: smyrman
(echo pip; pip freeze | awk 'BEGIN{FS="=="}{print $1}') | xargs sudo pip
์ค์น -U
์ด๋ ๊ฒ ํ๋ฉด ์ค์น๋ ๋ชจ๋ ํจํค์ง(pip ์์ฒด ํฌํจ)๋ฅผ ์
๊ทธ๋ ์ด๋ํด์ผ ํฉ๋๋ค. ๋ง์ฝ์
virtualenv์์ ์คํํ๋ฉด sudo๋ฅผ ์ฌ์ฉํ ํ์๊ฐ ์์ ๊ฒ์
๋๋ค.
๋ฌผ๋ก ์คํจ ์ํ์ด ๋์ต๋๋ค. ํจํค์ง ์ค ํ๋๋ฅผ ์
๊ทธ๋ ์ด๋ํ๋ ๊ฒฝ์ฐ
์คํจํ๋ฉด ์ ์ฒด ํ๋ก์ธ์ค๊ฐ ์คํจํฉ๋๋ค( port upgrade outdated
์ ์ ์ฌํฉ๋๋ค.
๋งฅํฌํธ).
Original Comment By: Tomasz Elendt
์ ๊ทธ๋ ์ด๋๋ฅผ ์ํด +1 --๋ชจ๋
์ ํ์ฌ ๋ชจ๋ Python ๋ชจ๋ ๊ด๋ฆฌ ๊ธฐ๋ฅ์ด ํํธ์๋์? ์ ์๋ผ
ํ๋๋ ๊ฐ๋จํ ์
๊ทธ๋ ์ด๋ + ์
๊ทธ๋ ์ด๋ --all ๋ช
๋ น์ ์ ๊ณตํฉ๋๊น?
Original Comment By: Anonymous
๊ตฌํ์ ํ ๋ฒ ํด๋ณด๊ณ ์ถ์ง๋ง ๋จผ์ ๋ช ๊ฐ์ง ์ง๋ฌธ์ ๋๋ฆฌ๊ฒ ์ต๋๋ค.
'--all'์ ์ง์ํ๋ ์๋ก์ด "์
๊ทธ๋ ์ด๋" ๋ช
๋ น์ ๋ํ ์ผ๋ฐ์ ์ธ ํฉ์์
๋๋ค.
์ต์
์ด pip์ ์ถ๊ฐ๋ฉ๋๊น?
pip upgrade๋ฅผ ์คํํ๋ ๊ฒ์ ๊ทธ๊ฒ์ด ์คํ๋๊ณ ์๋ ํ๊ฒฝ์๋ง ์ํฅ์ ๋ฏธ์ณ์ผ ํฉ๋๋ค.
virtualenv์์ ์คํํ๋ฉด ํด๋น ํ๊ฒฝ์ ๋ก์ปฌ์ธ ํจํค์ง๋ง ์
๊ทธ๋ ์ด๋๋ฉ๋๋ค.
non-virtualenv์ ๊ฒฝ์ฐ์๋ ๋์ผ
Original Comment By: Kelsey Hightower
Kelsey: ์์ ํ ๋ก ์ ์ฝ์ ๊ฒฐ๊ณผ ์ค์
๊ทธ๊ฒ์ ๋ํ ๋ฐ๋. ์ถ๊ฐํ๊ธฐ ์ข์ ๊ฒ ๊ฐ์์. ๋ฉ์ธ ์ฃ์ง ์ผ์ด์ค๋
ํธ์ง ๊ฐ๋ฅํ VCS ์ค์น - Ian์ด ์ ์ํ ๋๋ก "์
๊ทธ๋ ์ด๋" ๋ช
๋ น์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค.
๊ทธ๊ฒ๋ค์ ๋ง์ง๋ฉด ์๋ฉ๋๋ค. ๋ชจ๋ ์ํฉ์์ "์
๊ทธ๋ ์ด๋"์ ์๋ฏธ ์ ์
ํธ์ง ๊ฐ๋ฅํ ๊ฐ๋ฅ์ฑ(์ค์น๋ ํธ์ง ๊ฐ๋ฅํ ๋ก์ปฌ ๋ฆฌํฌ์งํ ๋ฆฌ ํฌํจ
origin)์ ๋ถ๊ฐ๋ฅ์ ๊ฐ๊น์ธ ๊ฒ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค.
์ ์๋ฅผ ์ข
ํฉํ๋ฉด ์ ์ง ๊ด๋ฆฌ๊ฐ ์ฆ๊ฐํ ๋ฟ์
๋๋ค.
์ด๋ฏธ ์ทจ์ฝํ VCS ๋ฐฑ์๋์ ๋ถ๋ด. ๊ทธ๋ฌ๋ ํธ์งํ ์ ์๋ ๊ฒฝ์ฐ -- ์ด๋
๊ทธ๊ฒ!
Original Comment By: Carl Meyer
Carl: ์ข์ต๋๋ค. ์์ํ๊ณ ์ด ํฐ์ผ์ ๊ฒฐ๊ณผ๋ก ์ ๋ฐ์ดํธํ๊ฒ ์ต๋๋ค.
Original Comment By: Kelsey Hightower
์ ๊ทธ๋ ์ด๋ ๋ช ๋ น์ ์์ ํ๋ ๋์ ๋ค์ ์ง๋ฌธ์ด ๋ํ๋ฌ์ต๋๋ค.
# pip upgrade some_installed_package
Try and locate a package that satisfies the requirement. If the
์๊ตฌ ์ฌํญ์ด ์ถฉ์กฑ๋์ง ์์ต๋๋ค. ์์ฒญํ ๋ฒ์ ์ผ๋ก ์
๊ทธ๋ ์ด๋ํ์ญ์์ค. ์ฌ๊ธฐ์๋ ๋ค์์ด ํฌํจ๋ฉ๋๋ค.
์ด์ ๋ฒ์ ์ผ๋ก ์
๊ทธ๋ ์ด๋.
# pip upgrade --all
Locate all installed packages (non-editables) and update them to a new
๊ฐ๋ฅํ ๊ฒฝ์ฐ ๋ฒ์ .
# pip upgrade some_other_package
Warning: some_other_package not installed, use pip install
some_other_package.
๋ด ๋ชฉํ๋ ์
๊ทธ๋ ์ด๋ ๋ช
๋ น์ ์ ๋ง ๊ฐ๋จํ๊ฒ ์ ์งํ๋ ๊ฒ์
๋๋ค. ๋น์ ์ ์
๊ทธ๋ ์ด๋ ํ ์ ์์ต๋๋ค
ํน์ ํธ์ง ๋ถ๊ฐ๋ฅํ ํจํค์ง๋ฅผ ์ ๋ฒ์ ๋๋ ์ด์ ๋ฒ์ ์ผ๋ก; ๋๋ ์
๊ทธ๋ ์ด๋ํ ์ ์์ต๋๋ค.
ํธ์งํ ์ ์๋ ๋ชจ๋ ํจํค์ง๋ฅผ ์ต์ ๋ฒ์ ์ผ๋ก.
์๊ฐ?
Original Comment By: Kelsey Hightower
"pip upgrade"๋ "pip install --upgrade"์ ์ ํํ ๋ณ์นญ์ด์ด์ผ ํ๋ค๊ณ ์๊ฐํฉ๋๋ค.
์ง๊ธ ์๋ํฉ๋๋ค. ์ฆ, ์์ฒญ๋ ํจํค์ง๊ฐ ๋ค์๊ณผ ๊ฐ์ ๊ฒฝ์ฐ ์ค์น๋ฉ๋๋ค.
์ค์น๋์ง ์์์ผ๋ฉฐ ์, -r์ด ์๋ ์๊ตฌ ์ฌํญ ํ์ผ์ ์๋ฝํฉ๋๋ค. ๊ทธ์ ํด์ผ
๊ฑฐ์ ์๋ก์ด ์ฝ๋ ์์ด ๊ฐ๋ฅํฉ๋๋ค.
์
๊ทธ๋ ์ด๋ --all์ ํ์ฌ ๋ชฉ๋ก์ ์ฐพ๊ธฐ ์ํด ์ผ๋ถ ์ฝ๋๊ฐ ํ์ํฉ๋๋ค.
์ค์น๋ ์
๊ทธ๋ ์ด๋ ๊ฐ๋ฅํ ํจํค์ง; ๊ทธ๋ฐ ๋ค์ ํด๋น ๋ชฉ๋ก์ ์ ๋ฌํ์ฌ ์ค์นํด์ผ ํฉ๋๋ค.
-- ์์ ๊ฐ์ด ์
๊ทธ๋ ์ด๋ ํฉ๋๋ค.
Original Comment By: Carl Meyer
์นผ, ๋ต๋ณ ๊ฐ์ฌํฉ๋๋ค. ๋๋ ๋น์ ์ด ๊ฐ์ง ๊ธธ์ ๊ฝค ๋ง์ด ๊ฑธ์์ต๋๋ค.
์ค๋ช
ํ๋ค. ์ค๋ ๋ฆ๊ฒ ๋๋ ๋ช ๊ฐ์ง ์์ ์คํ์ ๊ฒ์ํ ์ ์์ ๊ฒ์
๋๋ค.
Original Comment By: Kelsey Hightower
๋๋ถ๋ถ์ ์ฝ๋๋ฅผ ์๋ฃํ์ผ๋ฉฐ ์ฝ๋๋ฅผ ๊ฒ์ํ๊ธฐ ์ ์ ์ฝ๊ฐ์ ์์ ๋ง ๋จ์์ต๋๋ค.
๊ฒํ ๋ฅผ ์ํด.
ํ ๊ฒ:
# pip upgrade --all
All packages up-to-date
# pip upgrade --all -v
Packages installed at latest version:
pip: 0.8.2 (latest)
distribute: 0.6.14 (latest)
Python: 2.7.1 (latest)
wsgiref: 0.1.2 (latest)
All packages up-to-date
# pip upgrade PyYAML
Package updates available:
PyYAML: N/A (installed) 3.09 (latest)
Downloading/unpacking PyYAML
Downloading PyYAML-3.09.tar.gz (238Kb): 238Kb downloaded
....
Successfully installed PyYAML
Cleaning up...
# pip upgrade --all -v
Packages installed at latest version:
pip: 0.8.2 (latest)
distribute: 0.6.14 (latest)
PyYAML: 3.09 (latest)
Python: 2.7.1 (latest)
wsgiref: 0.1.2 (latest)
All packages up-to-date
# pip upgrade PyYAML==3.08
Downloading/unpacking PyYAML==3.08
....
Successfully installed PyYAML
Cleaning up...
# pip upgrade --all -v
Packages installed at latest version:
pip: 0.8.2 (latest)
distribute: 0.6.14 (latest)
Python: 2.7.1 (latest)
wsgiref: 0.1.2 (latest)
Package updates available:
PyYAML: 3.08 (installed) 3.09 (latest)
Downloading/unpacking PyYAML
...
Successfully installed PyYAML
Cleaning up...
Removing temporary dir /root/upgrade_env/build...
Original Comment By: Kelsey Hightower
๋ง์ง๋ง ์ง๋ฌธ ์ธํธ(ํฌ๋ง):
์๊ตฌ ์ฌํญ ํ์ผ์ ํธ์งํ ์ ์๋ ๊ฐ ํญ๋ชฉ์ ๋ํด ๋ค์์ ํ์ธํ๊ณ ์ถ์ต๋๋ค.
์ดํ ๋ฒ์ ์ ๋ํ ์ธ๋ฑ์ค. ์ด๋ ๊ฒ ํ๋ ค๋ฉด ์์งํด์ผ ํฉ๋๋ค.
์๊ตฌ ์ฌํญ ํ์ผ์ ๊ฐ ์ค์์ ํจํค์ง ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ต๋๋ค.
๋ชจ๋ ํ์ ํ์ํฉ๋๋ค(ํ์ฌ pip.req.parse_requirements ๋ณด๊ณ
์ง๊ธ์ ๋ค์๊ณผ ๊ฐ์ ๊ฒฝ์ฐ์๋ง ์ ๊ทธ๋ ์ด๋ ๋ชฉ๋ก์ ํจํค์ง๋ฅผ ์ถ๊ฐํ๊ณ ์์ต๋๋ค.
Original Comment By: Kelsey Hightower
Carl์ ๊ทํ์ ๊ฒ์๋ฌผ์ ๋ค์ ์ฝ์ ํ ํ์ฌ๋ณด๋ค ๋ ๋ง์ ์ผ์ ํ๊ณ ์๋ ๊ฒ ๊ฐ์ต๋๋ค.
ํ์์. ๋ด ์ง์ ์ ์
๋ก๋ํ์ฌ ๋ณผ ์ ์์ต๋๋ค. ๊ฐ์์ง๋ ๋ชฐ๋ผ
์ดํ ๋ฒ์ ์ ๋ํด PyPi๋ฅผ ํ์ธํ์ฌ ์ค๋ฒ๋ณด๋ํฉ๋๋ค.
Original Comment By: Kelsey Hightower
Carl์ ๊ทํ์ ๊ฒ์๋ฌผ์ ๋ค์ ์ฝ์ ํ ํ์ฌ๋ณด๋ค ๋ ๋ง์ ์ผ์ ํ๊ณ ์๋ ๊ฒ ๊ฐ์ต๋๋ค.
ํ์์. ๋ด ์ง์ ์ ์
๋ก๋ํ์ฌ ๋ณผ ์ ์์ต๋๋ค. ๊ฐ์์ง๋ ๋ชฐ๋ผ
์ดํ ๋ฒ์ ์ ๋ํด PyPi๋ฅผ ํ์ธํ์ฌ ์ค๋ฒ๋ณด๋ํฉ๋๋ค.
Original Comment By: Kelsey Hightower
์, ํ์ ์ด์์ผ๋ก ํ๊ณ ์๋ ๊ฒ ๊ฐ์ต๋๋ค. ํ ์ค์น
--upgrade๋ ์ด๋ฏธ ๋
ผ์ ์ค์ธ ๋ชจ๋ ์์
์ ์ํํฉ๋๋ค(์ต์
๋ฒ์ ๋ฑ); ๋ชจ๋ "pip ์
๊ทธ๋ ์ด๋"๋ 2์ค ํต๊ณผ์ ๊ฐ์์ผ ํฉ๋๋ค.
pip install --upgrade์ ๋ํ ๋ชจ๋ ๊ฒ.
์ฌ๊ธฐ์ ์์ฑ๋๋ ์ ์ผํ ์ค์ ์ฝ๋๋ "upgrade --all"์ ๋ํ ์ฝ๋์
๋๋ค.
ํ๊ฒฝ์ ์ค์น๋ ์
๊ทธ๋ ์ด๋ ๊ฐ๋ฅํ ํจํค์ง์ ์ ์ฒด ๋ชฉ๋ก์
๋๋ค.
Original Comment By: Carl Meyer
์, ์๊ณ ์์์ต๋๋ค. ๊ธ์, ๋๋ ๋ง์ ๊ฒ์ ๋ฐฐ์ ๋ค. ์ด๋ฅผ ์ํด ํ์ํ์ง ์๋๋ผ๋
์์
์ค์ ์ค์น ๋ฐ ์ฌ์ฉ ๊ฐ๋ฅํ ํญ๋ชฉ์ ํ์ํ๋ ๊ธฐ๋ฅ์ด ๋ง์์ ๋ญ๋๋ค.
์
๊ทธ๋ ์ด๋ ํ๋ก์ธ์ค(์์ ํ
์คํธ ์คํ ์ฐธ์กฐ).
๋ค์ ํฉํฐ๋งํ๊ณ ์ ๋ฆฌํ๊ฒ ์ต๋๋ค. ๋ด ํฌํฌ์ ํ์ฌ ๋ณ๊ฒฝ ์ฌํญ
์
๊ทธ๋ ์ด๋ ๋ช
๋ น ๋ถ๊ธฐ.
https://bitbucket.org/khightower/pip/changeset/2bdc202b446c
Original Comment By: Kelsey Hightower
๋๋ Carl์ ์ ์์ ๋ฐ๋ผ ์
๊ทธ๋ ์ด๋ ๋ช
๋ น์ ์ ๊ฑฐํ์ต๋๋ค.
์ฐ์ ). ๊ฒฐ๊ณผ๊ฐ ๋ง์์ ๋ค์ง๋ ์์ง๋ง ๋ฏธ๋ฌ ์ค์น๋ ๋ฉ๋๋ค.-- ๊ธฐ๋ฅ
pip๋ ๋ค์๊ณผ ๊ฐ์ ๊ฒฝ์ฐ์๋ ํจํค์ง๋ฅผ ๋ค์ด๋ก๋ํ๊ณ ๋ค์ ์ค์นํ๋ ค๊ณ ์๋ํ๋ ๊ฒ ๊ฐ์ต๋๋ค.
ํจํค์ง๊ฐ ์ด๋ฏธ ์ค์น๋์ด ์๊ณ ์ต์ ์ํ์
๋๋ค. ์
๊ทธ๋ ์ด๋๋ก ๋์ฑ ์
ํ--all , pip๋ pip ์์ฒด๋ฅผ ํฌํจํ ๋ชจ๋ ๊ฒ์ ๋ค์ ์ค์นํฉ๋๋ค. ํ์ด ์ด๋ฐ๊ฑด๊ฐ
์
๊ทธ๋ ์ด๋๊ฐ ์๋ํด์ผ ํฉ๋๊น? ๊ทธ๋ ๋ค๋ฉด ๊ฑฐ์ ์๋ฃ๋์์ต๋๋ค :)
# pip upgrade Mako
Downloading/unpacking Mako
Running setup.py egg_info for package Mako
warning: no files found matching '*.jpg' under directory 'doc'
warning: no files found matching '*.sty' under directory 'doc'
warning: no files found matching 'autohandler' under directory 'doc'
warning: no files found matching '*.xml' under directory 'examples'
warning: no files found matching '*.mako' under directory 'examples'
warning: no files found matching '*.dat' under directory 'test'
warning: no files found matching 'ez_setup.py'
Downloading/unpacking MarkupSafe>=0.9.2 (from Mako)
Running setup.py egg_info for package MarkupSafe
Installing collected packages: Mako, MarkupSafe
Found existing installation: Mako 0.3.6
Uninstalling Mako:
Successfully uninstalled Mako
Running setup.py install for Mako
changing mode of build/scripts-2.7/mako-render from 644 to 755
warning: no files found matching '*.jpg' under directory 'doc'
warning: no files found matching '*.sty' under directory 'doc'
warning: no files found matching 'autohandler' under directory 'doc'
warning: no files found matching '*.xml' under directory 'examples'
warning: no files found matching '*.mako' under directory 'examples'
warning: no files found matching '*.dat' under directory 'test'
warning: no files found matching 'ez_setup.py'
changing mode of /root/upgrade_env/bin/mako-render to 755
Found existing installation: MarkupSafe 0.11
Uninstalling MarkupSafe:
Successfully uninstalled MarkupSafe
Running setup.py install for MarkupSafe
building 'markupsafe._speedups' extension
gcc -pthread -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall
-Wstrict-prototypes -fPIC -I/opt/OpenPython-2.7.1/include/python2.7 -c
markupsafe/_speedups.c -o build/temp.linux-x86_64-2.7/markupsafe/_speedups.o
gcc -pthread -shared
build/temp.linux-x86_64-2.7/markupsafe/_speedups.o -o
build/lib.linux-x86_64-2.7/markupsafe/_speedups.so
Successfully installed Mako MarkupSafe
Cleaning up...
Original Comment By: Kelsey Hightower
Kelsey - ์, install --upgrade์ ๋ช ๊ฐ์ง ๋ฒ๊ทธ๊ฐ ์์ต๋๋ค. ํนํ ๋น์
์๋ณ๋ #13 , ๋ค์๊ณผ ๊ฐ์ ํจํค์ง๋ ๋ค์ ๋ค์ด๋ก๋ํ๊ณ ๋ค์ ์ค์นํฉ๋๋ค.
์ด๋ฏธ ์ต์ ์ํ์
๋๋ค. ๋ค๋ฅธ ์ผ์ ํ์ง ์๋ ๊ฒ์ด ํด๊ฒฐ์ฑ
์๋ก์ด ์
๊ทธ๋ ์ด๋ ๋ช
๋ น์ผ๋ก install --upgrade์ ๋ฒ๊ทธ๋ฅผ ์์ ํ๋ ๊ฒ์
๋๋ค.
upgrade --all์ ์ฌ์ฉํ๋ฉด pip๊ฐ ์์ฒด์ ์ผ๋ก ์
๊ทธ๋ ์ด๋ํ๋ ๊ฒ์ด ํฉ๋ฆฌ์ ์ผ๋ก ๋ณด์
๋๋ค.
์ฌ์ฉ ๊ฐ๋ฅํ ์
๊ทธ๋ ์ด๋๊ฐ ์๋ ๊ฒฝ์ฐ์๋ ๋ง์ฐฌ๊ฐ์ง์
๋๋ค. (๊ฐ์ธ์ ์ผ๋ก ๋๋ ์
๊ทธ๋ ์ด๋๋ฅผ ์ฌ์ฉํ์ง ์์ ๊ฒ์
๋๋ค.
--all, ๊ทธ๋์ ๋๋ ๊ทธ๊ฒ์ ์ฌ์ฉํ ์ฌ๋๋ค์ด ์ด๋ค ํ๋์ ์ํ ์ง ๋ชจ๋ฆ
๋๋ค.
์ฌ๊ธฐ). ๋ถ๋ช
ํ ๋ค์ # 13 ์ด ์์ ๋๋ฉด ๋ ์ ์๋ํฉ๋๋ค.
Original Comment By: Carl Meyer
Carl์๊ฒ ๊ฐ์ฌํฉ๋๋ค. ์ด ๊ธ์ ๋ง๋ฌด๋ฆฌํ๊ณ #13 ๋ถํฐ ์ดํด
Original Comment By: Kelsey Hightower
์๊ฐ์ด ์๋ ์ฌ๋์ด ์์ผ๋ฉด ๋ด ์
๊ทธ๋ ์ด๋ ๋ช
๋ น ๋ถ๊ธฐ๋ฅผ ๊ฒํ ํ์ญ์์ค. ํํธ
๋๋ ๊ธฐ์กด์ ๊ฒ์ ๋ณต์ ํ์ง ์์ผ๋ ค๋ ๋จ์ ํ
์คํธ์์ ์์
ํ ๊ฒ์
๋๋ค.
์ค์น ๋ช
๋ น.
https://bitbucket.org/khightower/pip/src/fa7b2a6d2bf1/pip/commands/upgrade.py
Original Comment By: Kelsey Hightower
@vababiy : ์ ๊ทธ๋ ์ด๋ ๋ช ๋ น์ ์๋ํ์ง๋ง ์ ๋๋ก ์๋ํ์ง ์๋ ๊ฒ ๊ฐ์ต๋๋ค... ๊ทธ๋์ ์ง์ ๋ง๋ค์์ต๋๋ค.
https://github.com/pypa/pip/pull/313
https://github.com/jedie/pip/commit/7a31d70dabe0e809184fe1b5280c5a7ccf420dd5
@jedie @khightower ์์ ์๊ฒฌ์ ๋ณด๋ด๋ ค๊ณ ํ๋ ๊ฒ ๊ฐ์ต๋๋ค. @vbabiy๋ ๊ทธ๋ ์ ์๊ฒฌ์ ์ฌ๊ธฐ๋ก ๋ง์ด๊ทธ๋ ์ด์ ํ์ง๋ง ์ ๊ทธ๋ ์ด๋ ๋ช ๋ น์ ์์ฑํ์ง ์์์ต๋๋ค.
+1
@kelseyhightower ์ด๋ค ์ง์ ์ด ์์ต๋๊น?
+1
+1!
+1
+1
"+1"๋ง์ผ๋ก ๋ฌธ์ ์ ๋ํ ๋๊ธ์ ๋ฌ์ง ๋ง์ธ์. ์ฐ๋ฆฌ๋ ์ด ๊ธฐ๋ฅ์ด ํ์ํ๋ค๋ ๊ฒ์ ์๊ณ ์์ง๋ง ๋ฐ์ ํธ์งํจ์ ์คํธ์ ๋ณด๋ด๋ ๊ฒ์ ๋์์ด ๋์ง ์์ต๋๋ค.
๋์ "ํจ์น ์๋ฃ!"๋ผ๋ ๋๊ธ์ ๋ณด๊ฒ ๋์ด ๊ธฐ์ฉ๋๋ค. ;)
+1
์ ๋ฐ์ดํธ๊ฐ ์์ต๋๊น? ์ถ๊ฐํ ๊ณํ์ ์๋์ง, ์ด์ 3๋ ์ฐจ..
@pradyun ์ฐธ์กฐ https://github.com/pypa/pip/issues/59#issuecomment -9418336
+1
๋๋ ์ด๊ฒ์ด ์ด๋ฏธ ๋ณํฉ๋์๋ค๊ณ ์๊ฐํ์ต๋๋ค. ๋ด ํ์ด์ฌ ๊ธฐ์ ์ ํธ์ด๋ด๊ณ ๋ค์ ์๋ํด ๋ณผ ์ ์์ต๋๋ค.
์ด ๊ธฐ๋ฅ์ด 1.5์ ํฌํจ๋ ์์ ์ธ๊ฐ์? 1.5 ๋ฌธ์์์ ์ด์ ๋ํ ์ฐธ์กฐ๋ฅผ ์ฐพ์ ์ ์์ต๋๋ค...
+1
์ด ๋ฌธ์ ์ ์ํ๋ ๋ฌด์์ ๋๊น?
#988์ ์ํด ์ฐจ๋จ๋ฉ๋๋ค.
๊ทธ๊ฒ์ด ์ ๋ง๋ก ์ค์ํ ๊ฒฝ์ฐ ๋ชจ๋ ํจํค์ง๋ฅผ ์ ๊ทธ๋ ์ด๋ํ๊ธฐ ์ํ ํด๊ฒฐ ๋ฐฉ๋ฒ์ด ์์ต๋๋ค. ๋๋ ์ด๊ฒ์ ๋ณ๋ ฌ๋ก ์ํํ๊ธฐ ์ํด ์คํฌ๋ฆฝํธ๋ฅผ ํจ๊ป ๋์ก๊ณ (https://github.com/ariccio/update-pip-packages), ์ธํฐ๋ท์ ๋ค๋ฅธ ๊ณณ์ ๋ง์ ๋ค๋ฅธ ๊ตฌํ์ด ์์ต๋๋ค.
์ด ๋ฌธ์ ์๋ ๋ ๋ถ๋ถ์ด ์์ต๋๋ค. upgrade-all
๋ gh-988์ ์ํด ์ฐจ๋จ๋ ์ ์์ง๋ง upgrade
์ด ์ฐจ๋จ๋๋ ๋ฐฉ๋ฒ์ ์ ์ ์์ต๋๋ค. pip upgrade
๋ pip install -U --no-deps
๋ํ ๊ฐ๋จํ ๋ณ์นญ์ด ๋ ์ ์์ต๋๋ค. ์ด๊ฒ์ setup.py ํ์ผ์์ install_requires
๋ฅผ ์ฌ์ฉํ๋ ์ฃผ์ ๋ฌธ์ ์ค ํ๋๋ฅผ ํด๊ฒฐํฉ๋๋ค. ์กฐ๋ง๊ฐ ํ ์ ์์๊น์?
pip upgrade๋ pip install -U --no-deps์ ๊ฐ๋จํ ๋ณ์นญ์ผ ์ ์์ต๋๋ค.
์ค๋ช ์์ :
pip upgrade
๋ ๊ธฐ๋ณธ์ ์ผ๋ก ์ฌ๊ท์ ์ด์ง ์๊ณ --recursive
์ต์
์ ์ ๊ณตํ๋ค๋ ์ ์ ์ ์ธํ๊ณ ๋ pip install --upgrade
์ ๊ฐ์ต๋๋ค. ํ์ฌ์ ์ฌ๊ท์ ๊ธฐ๋ณธ ๋์์ ๋ง์ ์ฌ๋๋ค์๊ฒ ์ฌํ์ ์๊ฒจ์ฃผ์์ต๋๋ค(#304). ์ง๊ธ ๋น์ฌ๊ท์ ์
๊ทธ๋ ์ด๋๋ฅผ ์ํํ๋ ๋ฐฉ๋ฒ์ ์ฌ๊ธฐ๋ฅผ ์ฐธ์กฐ
pip install -U --no-deps
๊ฐ ์๋๋๋ค.
์ด ์ปจํ
์คํธ์์ "๋น์ฌ๊ท์ "์ ๋จ์ํ โno-deps
๋ฅผ ์๋ฏธํ์ง ์์ต๋๋ค. ๋น์ฌ๊ท์ ์
๊ทธ๋ ์ด๋๋ ์ข
์์ฑ์ ์
๊ทธ๋ ์ด๋ํ์ง๋ง ์์ ์๊ตฌ ์ฌํญ์ ์ถฉ์กฑํ๋ ๋ฐ ํ์ํ ๊ฒฝ์ฐ์๋ง ๊ฐ๋ฅํฉ๋๋ค.
@qwcode ์ค๋ช ๊ฐ์ฌํฉ๋๋ค. ๊ทธ๋ผ ๊ทธ๊ฑด ๋ด๊ฐ ์ ๊ฒฝ์ฐ๋ ๊ฒ ์๋์ผ. ์ด๊ฒ์ "๋น์ฌ๊ท์ "์ด๋ผ๊ณ ๋ถ๋ฅด๋ ์ด์ ๋ ๋ฌด์์ ๋๊น? ์ฌ์ ํ ์ฌ๊ท์ ์ด์ง๋ง ์กฐ๊ธ ๋ ๋๋ํ๊ณ ๋ค๋ฆ ๋๋ค.
๋๋ gh-571์ ํ ๋ก ์์ ์ ๋ง ๋น์ฌ๊ท์ (non-recursive)์ด ์ํ๋ ๊ธฐ๋ณธ๊ฐ์ด๋ผ๋ ์ธ์์ ๋ฐ์์ต๋๋ค. ๊ทธ๊ฒ์ ํ์คํ ์๋ฏธ๊ฐ ์์ผ๋ฉฐ ํญ์ https://github.com/scipy/scipy/commit/8e7ee0c4b3c16 ๊ณผ ๊ฐ์ ์ฝ๋๋ฅผ ์์ฑํ์ง ์์๋ ๋ฉ๋๋ค
#571์์ "non-recursive"๋ --no-deps
๊ฐ ์๋๋ผ "smarter/different" ์ฌ๊ท์ ์
๋๋ค.
ํด๋น PR์์ test_upgrade_with_needed_recursive_upgrades()
ํ
์คํธ๋ฅผ ํ์ธํฉ๋๋ค.
์กฐ๊ฑด์ ์ฝ๋งค์ด์ง ์๊ณ 3๊ฐ์ง๊ฐ ์์ต๋๋ค.
--no-deps
#1๊ณผ #2๋ฅผ ๊ตฌ๋ณํ๋ ๋ช ๊ฐ์ง ๊ฐ๋ฅํ ๋ฐฉ๋ฒ
๋๋ ์ต๊ณ ์ ์ฉ์ด๋ฅผ ์ฌ์ฉํ๋ ๋ฐ ์ด๋ ค ์์ต๋๋ค ... ๊ทธ๊ฒ์ด ๋ฌด์์ธ์ง ํ์คํ์ง ์์ต๋๋ค.
๋๋ ์ด "ํ์ํ ๊ฒฝ์ฐ์๋ง ์ฌ๊ท์ "์ด๋ผ๋ ๋ฌธ๊ตฌ๋ฅผ ์ข์ํ๋ค๊ณ ์๊ฐํฉ๋๋ค. ์๋ง๋ ์ฌ๊ธฐ ๋ฌธ์์์ ์ฌ์ฉํด์ผ ํ
๋๋ ์ข์ํด. ์ธ ๊ฐ์ง ์ต์ ์ ๋ชจ๋ ๋ค์๊ณผ ๊ฐ์ด ์ค๋ช ํ๋ค๋ฉด
a. non-recursive
b. only if needed recursive
c. recursive (or "do it regardless recursive")
๊ทธ๊ฑด ๋ถ๋ช ํฉ๋๋ค.
๊ทธ๋ฐ ๋ค์ ์ข์ ๊ธฐ๋ณธ๊ฐ์ ์ ํํ๋ ค๊ณ ํฉ๋๋ค. upgrade
๋ฐ install -U
์ ๋ํด (a) ๋๋ (b)๊ฐ ์๋ฏธ๊ฐ ์์ ์ ์์ต๋๋ค. ๋๋ (a)๋ฅผ ๊ฐ๋ ฅํ ์ ํธํ์ง๋ง (b)๋ OS ํจํค์ง์ด ํ๋ ์ผ์ด๋ผ๋ ์ ์ ๊ฐ์ํ ๋ ๋๋ฌด ์๋ฏธ๊ฐ ์์ต๋๋ค.
(c) ๊ธฐ๋ณธ์ ์ผ๋ก ์๋ฏธ๊ฐ ์์ผ๋ฏ๋ก install -U
๋ฅผ ๋ณ๊ฒฝํ์ง ์๊ธฐ๋ก ํ ๊ฒฐ์ ์ ์ฌ๊ณ ํ์ญ์์ค.
๋ด๊ฐ (a)๋ฅผ ๊ฐ๋ ฅํ๊ฒ ์ ํธํ๋ ์ด์ ๋ฅผ ๋ช
ํํ ํ๊ธฐ ์ํด: (b)๋ฅผ ์ํ๊ณ (a)๋ฅผ ๋ฐ๋ ์์งํ ์ฌ์ฉ์๋ "non-recursive upgrade can't satisfy all dependencies, please use only-if-needed recursive"
๋ผ๋ ๋ฉ์์ง๋ฅผ ์ฝ์ด์ผ ํ ๊ฒ์
๋๋ค. ์ด๋ ๊ทธ๋ค์ง ํฐ ๋ฌธ์ ๊ฐ ์๋๋๋ค. ๊ธฐ๋ณธ๊ฐ์ด (b)์ธ ๊ฒฝ์ฐ ์์ฌํ์ง ์๋ ์ฌ์ฉ์๋ ๊ฒฐ๊ตญ ๊ฑด๋๋ฆฌ๊ณ ์ถ์ง ์์ ํจํค์ง๊ฐ ์
๊ทธ๋ ์ด๋๋๊ฑฐ๋ ์ค์น๊ฐ ์์๋ ์ ์์ต๋๋ค. ๋ณต๊ตฌํ๋ ๋ฐ ๋ช ์๊ฐ ๋๋ ๋ฉฐ์น ์ด ๊ฑธ๋ฆด ์ ์์ต๋๋ค.
(c) ๊ธฐ๋ณธ์ ์ผ๋ก ์๋ฏธ๊ฐ ์์ผ๋ฏ๋ก install -U๋ฅผ ๋ณ๊ฒฝํ์ง ์๊ธฐ๋ก ํ ๊ฒฐ์ ์ ์ฌ๊ณ ํ์ญ์์ค.
install -U
๋ฅผ ๊ทธ๋๋ก ๋๋ ์ด์ ๋ ํธํ์ฑ์ ์ํ ๊ฒ์ด๋ฉฐ ๊ฒฐ๊ตญ์๋ ๋ ์ด์ ์ฌ์ฉ๋์ง ์์ต๋๋ค.
๊ธฐ๋ณธ๊ฐ์ด (b)์ธ ๊ฒฝ์ฐ ์์ฌํ์ง ์๋ ์ฌ์ฉ์๋ ์ ๊ทธ๋ ์ด๋๋ก ๋๋ ์ ์์ต๋๋ค.
๋๋ ๊ทธ๊ฐ ์ ๋ง๋ก ๊ฑด๋๋ฆฌ๊ณ ์ถ์ง ์์ ํจํค์ง์ ๊นจ์ง ์ค์น์กฐ์ฐจ๋
์ฌ์ฉ์๊ฐ ํ์ํ ์ข
์์ฑ ์
๊ทธ๋ ์ด๋๋ฅผ ์ํํ์ง ์์ผ๋ ค๋ฉด ํนํ --no-deps
๋ฅผ ์ฌ์ฉํ์ฌ ์์ฒญํด์ผ ํฉ๋๋ค. ๋ด ๋ง์์ ๊ทธ๊ฒ์ด ๊ธฐ๋ณธ๊ฐ์ด ๋ ์ ์๋ ๋ฐฉ๋ฒ์ ์์ต๋๋ค. ๊ทธ ํ๋์ ๋น์ ์ด ๊ณ ๋ คํ๊ณ ์๋ ๊ฒ๋ณด๋ค ๋ ๋ง์ ํผํด๋ฅผ ์
ํ ๊ฒ์
๋๋ค(์ด์์น์ธ ๊ฒฝ์ฐ). ๊ณ์ํด์ ์ฌ์ฉ์๋ ํ์ํ ์ข
์์ฑ ์
๊ทธ๋ ์ด๋๋ฅผ ๋ฐ์ง ๋ชปํ ์ฑ ๋จ๊ฒจ์ง ๊ฒ์
๋๋ค.
install -U
์ฌ์ฉํ์ง ์๋ ๊ฒ์ด ์ข์ต๋๋ค.
(b)๊ฐ (a)๋ณด๋ค ๋ ์ผ๋ฐ์ ์ด๋ผ๋ ๋ฐ ๋์ํฉ๋๋ค. 100๋ฐฐ๋ ๋ ํํ๋ฐ, ๊ทธ๋ ์ง ์๋ค๊ณ ํด๋ ํผํด๊ฐ ๋ ๋ง๋ค๋ ๊ฒ์ ์ฌ์ค์ด ์๋๋ค. ์ค์น๊ฐ ์์๋๊ธฐ ์ ์ ๋ช ํํ ์ค๋ฅ ๋ฉ์์ง๋ฅผ ์ฝ๋ ๊ฒ์ด ์๋ฅผ ๋ค์ด ์ค๊ฐ์ ์ปดํ์ผ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ ๊ฒ๋ณด๋ค ํจ์ฌ ๋ซ๊ธฐ ๋๋ฌธ์ imho(a)๊ฐ ์ฌ์ ํ ๋ ๋์ ๊ธฐ๋ณธ๊ฐ์ ๋๋ค.
--no-deps
์ ์์กดํ๋ ๊ฒ์ ๊ฒฝํ์ด ๋ง์ ์ฌ์ฉ์์๊ฒ๋ ๊ด์ฐฎ์ ์ ์์ง๋ง ์๋ก์ด ์ฌ์ฉ์๋ ์ํฉ์ด ์๋ชป๋ ํ์์ผ ์๊ฒ ๋ ๊ฒ์
๋๋ค.
์ด์จ๋ , ๋น์ ์ ์ค๋ํ ์ ์์ ๊ฒ ๊ฐ์ต๋๋ค. ๊ทธ๋ฐ ๋ค์ ์ค๋ช ์๋ก ๋์๊ฐ์
try:
import dependency
except ImportError:
install_requires.append('dependency')
else:
if dependency.version < 'x.y.z':
raise ValueError('Please upgrade dependency to x.y.z')
๊ทธ๊ฒ์.
@qwcode ์์ธํ ์ค๋ช ๊ฐ์ฌํฉ๋๋ค. ๋๋ ์ด๊ฒ์ด ๊ฐ๊น์ด ์ฅ๋์ ์งํ๋๊ธฐ๋ฅผ ๋ฐ๋๋๋ค - ํ์ํ ๊ฒฝ์ฐ์๋ง ์ฌ๊ท๊ฐ ํ์ฌ ๋์์ ๋ํ ์์ฒญ๋ ๊ฐ์ ์ด ๋ ๊ฒ์ ๋๋ค.
์ด๋ฒ ์ฃผ์ install_requires
์ฌ์ฉํ์ง ์๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋ฐ ๋ค์ ๋ง์ ์๊ฐ์ ํ ์ ํ์ฌ ํ์ฌ ํ๋์์ ๋ฒ์ด๋๊ธฐ ์ํด :+1: ์ ์ถ๊ฐํฉ๋๋ค.
์ด ๋ฌธ์ ์ ๋ํ ์ ๋ฐ์ดํธ๊ฐ ์์ต๋๊น?
์ง๊ธ์ 2015๋
์ด๊ณ pip freeze --local | grep -v '^\-e' | cut -d = -f 1 | xargs -n1 pip install -U
stackoverflow ์์ ๋ณต์ฌํด์ผ ํฉ๋๋ค.
๋ค, ๊ธฐ๋ณธ์ ์ผ๋ก ๋ชจ๋ ์งํ ์ํฉ์ด ์ด ๋ฌธ์ ์ ๊ด๋ จ๋์ด ์์ต๋๋ค.
GitHub๋ ์ํธ ์ฐธ์กฐ ์์ ์ ์์ฃผ ์ ์ํํฉ๋๋ค. ๋ชจ๋ ํด๋ฆญ ๊ฐ๋ฅํฉ๋๋ค! (์ด๊ฑฐ ์์ค๊บผ ๊ฐ์๋ฐ์?)
๋ค, ํ์ง๋ง ์ด "๋จ์ํ" ๊ธฐ๋ฅ์ด ์ ๊ทธ๋ ๊ฒ ์ง์ฐ๋๋์ง ์ดํด๊ฐ ๋์ง ์์ต๋๋ค.
๊ทธ ์ด์ ๋ ๋ฌด์์ ๋๊น?
Am 16.04.2015 um 05:28 schrieb Alexander Riccio [email protected] :
๋ค, ๊ธฐ๋ณธ์ ์ผ๋ก ๋ชจ๋ ์งํ ์ํฉ์ด ์ด ๋ฌธ์ ์ ๊ด๋ จ๋์ด ์์ต๋๋ค.
GitHub๋ ์ํธ ์ฐธ์กฐ ์์ ์ ์์ฃผ ์ ์ํํฉ๋๋ค. ๋ชจ๋ ํด๋ฆญ ๊ฐ๋ฅํฉ๋๋ค! (์ด๊ฑฐ ์์ค๊บผ ๊ฐ์๋ฐ์?)
โ
์ด ์ด๋ฉ์ผ์ ์ง์ ํ์ ํ๊ฑฐ๋ GitHub์์ ํ์ธํ์ธ์.
pip upgrade-all
, ์ฌ์ ํ ๊ถ๊ทน์ ์ผ๋ก ๊ฒฐํจ์ด ์๊ณ ์์
ํ๊ฒฝ์ ์ํํ ์ ์๋ ๋ฐ์ง์ด๋ ์ ๋ช
๋ น์ ๋ฆด๋ฆฌ์คํ๊ธฐ ์ ์ #988๊ณผ ๊ด๋ จ๋ ์์
์ ๊ธฐ๋ค๋ฆฌ๋ ๊ฒ์ด ํฉ์์ธ ๊ฒ ๊ฐ์ต๋๋ค. ์๊ตฌ ์ฌํญ์ ์ ์ ํ๊ฒ ํด๊ฒฐํ์ง ๋ชปํ๋ upgrade-all
์ ๊ฐ๋จํ ๋ฒ์ ์ ๊ธฐ์กด ํจํค์ง๋ฅผ ์ฝ๊ฒ ์์์ํฌ ์ ์์ต๋๋ค.
+1
4๋ ๋์ ๋ญํด?
+1
+1
+1
@muhasturk ํ์ฌ ๋๊ธฐ ์ค... https://github.com/pypa/pip/issues/59#issuecomment -93646462
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1 ...์คํธ ์ฃ์กํฉ๋๋ค. ํ์ง๋ง pip freeze --local | grep -v '^\-e' | cut -d = -f 1 | xargs -n1 pip install -U
์คํํ๋ ๊ฒ์ ๊ณ ํต์ค๋ฝ์ต๋๋ค!
+1
๋๊ตฐ๊ฐ ์ด ์์
์ ๊ด์ฌ์ด ์๋ ๊ฒฝ์ฐ ์์ ์ค๋ช
์ด ๋ค์ ํผ๋์ค๋ฝ๋ค๊ณ ์๊ฐํฉ๋๋ค. AFAICT ์ค์ ์ํ๋ ํ์ฌ pip upgrade-all
๊ฐ ์ ์ ํ ์ข
์์ฑ ํด๊ฒฐ ์์คํ
์ ํ์์ฑ์ผ๋ก ์ธํด ์ฐจ๋จ๋์ด ์์ง๋ง pip upgrade
๋ ์ธ์ ๋ ์ง ๊ตฌํํ ์ ์์ต๋๋ค. ๋๊ตฐ๊ฐ๊ฐ ๊ทธ ๋ถ๋ถ์์ ์ผํ๊ธฐ๋ฅผ ์ํ๋ค๋ฉด ๊ทธ๊ฒ์ ๋งค์ฐ ๊ต์ฅํ ๊ฒ์
๋๋ค :-).
( ์ฌ๊ธฐ์์ ์์ ํ๋ ์ค๋ ๋์ @dstufft ์ ํ์ ๋ ์ฌ๊ธฐ ์์ ์ฐธ์กฐํ๊ณ ์์ ํ๊ฐ์ ๋์ํ๋ ๋๊ธ์ ์ฌ๊ธฐ์์ ์ฐธ์กฐํ์ญ์์ค .)
์ฌ๊ธฐ์ 1๋
์ ์ pypa-dev ๋ชฉ๋ก์ ๋ ๋ค๋ฅธ ํ ๋ก ์ด ์์ต๋๋ค( pip upgrade FOO
๊ฐ ์ง๊ธ ์ํ๋ ์ ์๋ค๋ ๋ฐ ๋์ํจ) https://groups.google.com/forum/#!searchin/pypa -dev/pip$20 ์
๊ทธ๋ ์ด๋/pypa-dev/vVLmo1PevTg/oBkHCPBLb9YJ
@qwcode ๊ฐ์ฌํฉ๋๋ค! ๋ํ ๋ฐฉ๊ธ https://pip.pypa.io/en/latest/user_guide/#only -if-needed-recursive-upgrade์์ ์๋ก์ด ์ค๋ช ์ ๋ณด์๋๋ฐ ๋์์ด ๋ฉ๋๋ค.
+1
๋ด๊ฐ ํ๋ฆฌ์ง ์๋ ๊ฒฝ์ฐ:
xxx๊ฐ ์ค์น๋์ง ์์ ๊ฒฝ์ฐ:
pip upgrade xxx
๋ pip install xxx
pip upgrade xxx --recursive
๋ pip install xxx --upgrade
xxx๊ฐ ์ค์น๋ ๊ฒฝ์ฐ:
pip upgrade xxx --recursive
๋ ์ฌ์ ํ pip install xxx --upgrade
(์ค๊ณ์).pip upgrade xxx
์ ํด๋นํ๋ ํญ๋ชฉ์ด ์์ผ๋ฉฐ pip install xxx --upgrade-only-if-needed/--upgrade-lazy
์ ์์ต๋๋ค.pip install
์ ์ต์
์ ์ถ๊ฐํ๋ ๊ฒ๋ณด๋ค ์ ๋ช
๋ น์ ์ถ๊ฐ ๊ฐ์น๊ฐ ๋ฌด์์ธ์ง ๋ช
ํํ์ง ์์ต๋๊น?
pip install
์ ์ต์ ์ ์ถ๊ฐํ๋ ๊ฒ๋ณด๋ค ์ ๋ช ๋ น์ ์ถ๊ฐ ๊ฐ์น๊ฐ ๋ฌด์์ธ์ง ๋ช ํํ์ง ์์ต๋๊น?
๊ธฐ๋ณธ pip install -U
๋์์ ๋ง์ ํ๋ก์ ํธ์์ ํ์ฉ๋์ง ์์ต๋๋ค. ์์ ๋ด ์๊ฒฌ์ ์ฐธ์กฐํ์ญ์์ค(https://github.com/pypa/pip/issues/59#issuecomment-52434862). ๊ทธ๋ฆฌ๊ณ ์ฌ๊ธฐ์ ๋ ๊ธด ์ค๋ช
์ด ์์ต๋๋ค: http://article.gmane.org/gmane.comp.python.distutils.devel/24218
ํ์ฉ๋์ง ์๋ ๊ฒฝ์ฐ pip install --upgrade ์ฌ์ฉ์ pip upgrade ๋ก ๋ณ๊ฒฝํ ๊ณํ์
๋๊น?
ํ์ฌ pip install --upgrade ์ฌ์ฉ๋ฒ์ pip install --upgrade-only-needed ๋ก ๋ณ๊ฒฝํ ์ ์๋ ์ด์ ๋ ๋ฌด์์
๋๊น?
์ ๋ช
๋ น์ ์ ์ต์
์ด ์ ๊ณตํ ์ ์๋ ๋ฌด์์ ์ ๊ณตํฉ๋๊น?
์จํต ์์ ๊ธธ์ ํฌ์ฅํ๊ณ ์์ต๋๋ค. ๊ทธ๊ฐ ๊ฑฑ์ ํ๋ ๊ฒ์ @rgommers์ ๊ฐ์ธ์ ์ธ ์ฌ์ฉ์ด ์๋๋ผ ๊ทธ์ ์ฌ์ฉ์์ ๋๋ค. ์ฌ๋๋ค์ ๊ทธ๋ค์ด ๋ ์ ์์ง ๋ชปํ๋ค๋ฉด "๋ช ๋ฐฑํ" ๋ต์ ๋๋ฌํ ๊ฒ์ด๊ณ ์ง๊ธ ๋น์ฅ์ ๋ช ๋ฐฑํ ๋ต์ด Python ์ํ๊ณ์ ์ผ๋ถ ์ฃผ์ ๋ถ๋ถ์ ๋ฌธ์ ๊ฐ ์์ต๋๋ค.
๋ฌผ๋ก . ์ฌ๋๋ค์ ๋ฌธ์๋ฅผ ์ฝ์ง ์์ต๋๋ค. ์ค์ ๋ก ์ฐ๋ฆฌ๋ ์ฐ๋ฆฌ๊ฐ ์ฐพ์ ์ ์๋ ๋ชจ๋ ์ค์น ๋ฌธ์๋ฅผ ์์ ํ ๊ฒ์ด์ง๋ง ์ฌ์ฉ์๊ฐ -U
๋๋ --upgrade
๋ฅผ ๋ณด๋ ์ฆ์ ์ฌ์ฉํ ๊ฒ์
๋๋ค. ์ฌ๋๋ค์ด --no-deps
๋๋ --only-as-needed
๋๋ ๋ฌด์์ด๋ ๊ฐ์ ์ฌ๊ฐํ๊ฒ ๋ฌผ๋ฆฐ ์ ์ด ์๊ธฐ ์ ์ ์ฌ์ฉํ ๊ฐ๋ฅ์ฑ์ ํฌ๋ฐํฉ๋๋ค.
ํ์ฌ pip install --upgrade ์ฌ์ฉ๋ฒ์ pip install --upgrade-only-needed ๋ก ๋ณ๊ฒฝํ ์ ์๋ ์ด์ ๋ ๋ฌด์์ ๋๊น?
๊ทธ๋ฆฌ๊ณ ๋ถ๋ช
ํ ํ์๋ฉด, ์ฐ๋ฆฌ๋ ์ง๊ธ pip install --upgrade
ํผํ๊ณ _๊ทธ๋ฆฌ๊ณ _ ์ด๊ฒ ๋๋ฌธ์ install_requires
์ฌ์ฉํ์ง ์์ต๋๋ค. ๊ทธ๊ฒ ์ผ๋ง๋ ๋์์ง.
์ฌ๊ธฐ์ ์ฝ๊ฐ์ ์คํด๊ฐ ์๋ค๊ณ ์๊ฐํฉ๋๋ค. IIUC @xavfernandez๋ ๋น์ฌ ๊ท์ ์
๊ทธ๋ ์ด๋ ๊ธฐ๋ฅ์ ์ถ๊ฐํ๋ ๋ฐ ๋์ํฉ๋๋ค. ๊ทธ๋ค์ ์ง๋ฌธ์ ์ ํด๋น ๊ธฐ๋ฅ์ ๋ํ UI๊ฐ pip install
์ ๋ํ ์๋ก์ด ์ต์
๋์ ์ ์๋ก์ด ์ต์์ ๋ช
๋ น์ด์ด์ผ ํ๋์ง์
๋๋ค
@xavfernandez : ํ์ฌ #3194์์ ์ด ๊ธฐ๋ฅ์ ๋ํ ๊ฐ์ฅ ๋ช ํํ UI๊ฐ ๋ฌด์์ธ์ง์ ๋ํ ๋ ผ์๊ฐ ์งํ ์ค์ ๋๋ค.
(๊ทธ๋ฆฌ๊ณ pip install -U
๋ ๋ ์ด์ ์ฌ์ฉ๋์ง ์์ผ๋ฉฐ ์ ๊ฑฐ๋ ์์ ์ด๋ฏ๋ก ์ฌ์ฉ์๊ฐ ์ด๋ฅผ ์ฌ์ฉํ์ง ์๋๋ค๋ ๊ฒ์ ์ด๋ป๊ฒ ์ ์ ์๋์ง์ ๋ํ ์ง๋ฌธ์ ๋ํ ๋ต๋ณ์
๋๋ค :-).)
์ฌ๊ธฐ์ ์ฝ๊ฐ์ ์คํด๊ฐ ์๋ ๊ฒ ๊ฐ์์
๋๋ ๊ทธ๊ฒ์ด ์๋ค๊ณ ํ์ ํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์, ์ฐ๋ฆฌ๋ UI์ ๋ํด์๋ง ํ ๋ก ํ๊ณ ์์ต๋๋ค. ํ์ง๋ง ๊ทธ๊ฒ ์ค์ํฉ๋๋ค.
๋ค, UI์ ๋ํด์๋ง ํ ๋ก ํ๊ณ ๊ทธ๊ฒ์ด ์ค์ํ๋ค๋ ๋ฐ ๋์ํฉ๋๋ค. ๊ทธ๋ฌ๋ ๋ด๊ฐ ๋ณผ ์์๋ ๊ฒ์ pip ์
๊ทธ๋ ์ด๋๊ฐ ๋๋๋ฉด pip install์ ๊ณ์ ์ฌ์ฉํ ์ด์ ๊ฐ ์๋ค๋ ๊ฒ์
๋๋ค ...
๊ทธ๋ฆฌ๊ณ ํจํค์ง๋ฅผ ์ค์นํ๋ UI๋ "pip upgrade foo"๊ฐ ๋ฉ๋๋ค.
pip install์ ๊ณ์ ์ฌ์ฉํ ์ด์ ๊ฐ ์์ต๋๋ค.
์ด๋ค ๊ฒ์ด ์ ๋ฌธ์ ์ธ๊ฐ? pip install --upgrade
๋ฅผ ์ฌ๋ฐ๋ฅธ ๋์์ผ๋ก ๋ณ๊ฒฝํ๋ ๊ฒ๊ณผ ๊ด๋ จ๋ ๋ฌธ์ (์ต์ํ ์์ ์ฃผ์์์ @qwcode ์ ๋ํด)๋ ์ด์ ๋ฒ์ ๊ณผ์ ํธํ์ฑ์ ๊นจ๋จ๋ฆฌ๋ ๊ฒ์
๋๋ค. ๋ฐ๋ผ์ pip upgrade
๋ ์ค๋จ์ ํผํ๊ณ ์ฌ๋ฐ๋ฅธ ๊ธฐ๋ณธ๊ฐ์ ์ป๋ ๋ฐฉ๋ฒ์
๋๋ค.
@rgommers : ๊ณต์ ํ๊ฒ foo
์ค์น๋์ง ์์ ์ํ์์ ์ ์ ์๊ฒ pip upgrade foo
๋ฅผ ์คํํ๋ผ๊ณ ๋งํ๋์ง์ ๋ํด 0์ด ์๋ ๋ช ๊ฐ์ง ํผ๋์ค๋ฌ์ด ์ง๋ฌธ์ ๋ฐ์_ ๊ฒ์
๋๋ค. ์๋ํ์ง ์์(์๋ํ์ง ์์ ๊ฒ์ด๋ผ๊ณ ๊ฐ์ ํ๊ณ ์คํํ ์ฒํ๋ ๋์ ์ค์ ๋ก ๋ช
๋ น์ ์คํํ๋ ค๊ณ ํ ๋๊น์ง ์๋ค๋ก ๋
ผ์)
#3194์์ ๋๋ ์๋ง๋ ์ฌ๋ฐ๋ฅธ ๋ฐฉ๋ฒ์ --upgrade
์์ pip install
--upgrade
๋ฅผ ์ ๊ฑฐํ๊ณ pip install
ํญ์ ๋ช
์์ ์ผ๋ก ๋ช
๋ช
๋ ํญ๋ชฉ์ ์
๊ทธ๋ ์ด๋๋ฅผ ์ํํ๋๋ก ํ๊ณ ๊ธฐ๋ณธ์ ์ผ๋ก --recursive
ํ๋๊ทธ๋ฅผ ์ฌ์ฉํ์ฌ ์ข
์์ฑ์ ๋ํ ์ต์ ์
๊ทธ๋ ์ด๋ ์ ๋ต์ผ๋ก ์
๊ทธ๋ ์ด๋ ์ ํ์ฌ ๋์์ ๊ฐ์ ธ์ต๋๋ค.
๋๋ # 3194๋ก ๊ธฐ๋ณธ UX๊ฐ ๋ ๊ฒ ๊ฐ์ ๋๋ ๋์ ์๊ฐ pip upgrade foo
๋์ pip install [-U] foo
. ๋ด๊ฐ ๊ฐ์ง ์ ์ผํ ๋ฌธ์ ๋ ๋ ๊ฐ์ ๋ช
๋ น์ ์ฌ์ฉํ๋ ๊ฒ์ด ์ผ์ข
์ ํผ๋์ค๋ฝ๋ค๊ณ ์๊ฐํ๊ณ pip upgrade
๊ฐ ์ฌ๋๋ค์ด ์ฌ์ฉํ๊ธฐ์ "์ฌ๋ฐ๋ฅธ" ๋ช
๋ น์ด๋ผ๊ณ ์๊ฐํ๋ค๋ ์ ์ ๊ฐ์ํ ๋ ๋ช
๋ฐฑํ ์ด๋ฆ์ ์๋ชป๋ ์ด๋ฆ์
๋๋ค.
๋๋ ํธ๋ํต์ด ์์ด์ ์์ ํ ์ณ๋ค๊ณ ์๊ฐํ์ง ์์ ์๋ ์์ง๋ง, ๊ทธ ์ ์์ ๋ํ ์ฌ์ฉ ์ค๋จ ๊ฒฝ๋ก๋ฅผ ์ฒ๋ฆฌํ๋ ๋ฐฉ๋ฒ์ ์ฐพ๋ ๊ฒ์ด ์ฌ๋ฐ๋ฅธ ๋ฐฉ๋ฒ์ผ ์ ์๋ค๋ ๋๋์ด ๋ญ๋๋ค.
๊ธ์, ๋๋ ์ฌ๊ธฐ์ ํ์ ํธํ์ฑ์ด ์ค์ํ๋ค๊ณ ์ฃผ์ฅํ์ง ์์ ๊ฒ์ด๋ค. ๋๋ ํญ์ pip install --upgrade
์ ๋์์ ๋ณ๊ฒฝํ๋ ๋ฐ ์ฐฌ์ฑํ์ต๋๋ค. ๊ฐ์ฅ ๊นจ๋ํ๊ณ ๋น์ฉ์ด ์ ๊ฒ ๋๋ ๊ฒ ๊ฐ์ต๋๋ค. ๊ทธ๋ฌ๋ ๊ทธ๊ฒ์ @qwcode ์ ์ํด ๊ฑฐ๋ถ๋ pip upgrade
๊ฐ ์ฐจ์ ์ฑ
์ด์์ต๋๋ค.
์ด์ pip install
๋ํ ๊ธฐ๋ณธ๊ฐ/๋์ ๋ณ๊ฒฝ์ผ๋ก ๋์๊ฐ๊ณ ์ถ๋ค๋ฉด ์ข์ต๋๋ค.
๋์๊ฒ ์์ ํ ์๋ฏธ๊ฐ์๋ @dstufft - ๋ํต์ด ๊ทธ๋ ๊ฒ ๋์์ง ์์ ์ ์์ต๋๋ค. :)
--upgrade ์ฌ์ฉ์ ์ค๋จํ๋ ๋ฐ ๋์ํ๋ฏ๋ก ์ด๋ฅผ ์ ์งํ๊ณ pip install์ ๋ ๊ฐ์ง ์ต์ ์ ์ถ๊ฐํ ์ ์์ต๋๋ค. --upgrade-only-needed ๋ฐ --upgrade-eager ๋ ๋ฒ์งธ ์ต์ ์ ์ฌ์ฉ ์ค๋จ๋ --upgrade์ ๋ณ์นญ์ ๋๋ค.
@xavfernandez ์ฌ์ฉ์์๊ฒ ๊ฒฐ์ ์ ๊ฐ์ํ๋ ๊ฒ์ ์ ์๊ฐ์ --upgrade-only-needed
๋ฐ --upgrade-eager
์ํ๋์ง ์ ๋ง ์ ์ ์์ต๋๋ค.
@xavfernandez ๊ทธ๋์ ๋น์ ์ ์ต์ข
์ํฉ์์ ๋ช
๋ น์ด pip install --upgrade-only-needed
๋ ๊ฒ์ด๋ผ๊ณ ์ ์ํ๊ณ ์์ต๋๊น? ๋ชป์๊ธด ๊ฒ ๊ฐ๋ค.
์๋ฅผ ๋ค์ด npm , hex ๋๋ Cargo ์์ ์ฌ์ฉํ ์ ์๋ ์๋งจํฑ ๋ฒ์ ๊ณ ์ ์ ํด๋นํ๋ ๋งคํ์ ๊ฐ๋ ๊ฒ์ด ํจ์ฌ ๋ ์ข์ต๋๋ค. (a) PEP 440 ๋ฒ์ ์ ์๋ฏธ๋ก ์ ๋ฒ์ ๊ด๋ฆฌ์ ์ ํํ๊ฒ ๋งคํ๋์ง ์๊ณ ๋งคํ๋ ์ ์๊ณ (b) ์ ์ฒด Python ์ปค๋ฎค๋ํฐ๋ ํด๋น ๋ฆด๋ฆฌ์ค์์ ์๋ฏธ๋ก ์ ๋ฒ์ ๊ด๋ฆฌ์ ๋ฐ๋์ ์ํฅ์ ๋ฏธ์น์ง ์๊ธฐ ๋๋ฌธ์ Python ์ปจํ ์คํธ์์ ์กฐ์ ์ด ํ์ํฉ๋๋ค. PEP 440.
๊ทธ๋ผ์๋ ๋ถ๊ตฌํ๊ณ ํน์ ๋ฒ์ ์ ๊ณ ์ ํ๋ค๋ ๊ฐ๋ ๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก ์ด๋ฌํ ๋ผ์ธ์ ๋ฐ๋ฅด๋ ๊ฒ์ด ๋งค์ฐ ๋์์ด ๋ ๊ฒ์ ๋๋ค.
์ ์ฝ ์กฐ๊ฑด์ ๊ฐ์ํ ๋ ๋จ๊ธฐ์ ์ผ๋ก ์คํ ๊ฐ๋ฅํ ์ต์
์ค ํ๋๋ homebrew์ upgrade
๋ฐ upgrade --all
๋ช
๋ น๊ณผ ์ ์ฌํ ์์
์ ์ํํ๋ ๊ฒ์ผ ์ ์์ต๋๋ค. ).
๊ทธ๋ฌ๋ ์ฅ๊ธฐ์ ์ผ๋ก ๋ณด๋ฉด Python ํจํค์ง ์ปค๋ฎค๋ํฐ์์ ๋ฒ์ ์ด ๋ฌด์์ ์๋ฏธํ๋์ง์ ๋ํ ๊ณต์ ๊ท์น์ ๋ง๋ค๊ณ ์ด์ ๋ํ pip
์ง์์ ๊ตฌ์ถํ๋ ๊ฒ์ด ํฐ ๋ถ๋ถ์ด ๋ ์ ์์ต๋๋ค.
๋ช ๋ฐฑํ ๋ง์ด๊ทธ๋ ์ด์ ๊ฒฝ๋ก๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
ํ ๋ฒ์ X:
pip install --eager
, pip install --no-eager
, ์ฌ๊ธฐ์ --eager
๋ ๋ฒ์ ์ ํ์ด ์๋ ์๊ตฌ ์ฌํญ์ ๋ํด ์ด๋ฏธ ์ค์น๋ ๋ฒ์ ์ด ์๋๋ผ๋ ์ต์ ๋ฒ์ ์ ์ค์นํ๋ ค๊ณ ์๋ํ๋ค๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค. --no-eager
๋ ์ค์น๋ ๋ฒ์ ์ด ์์ผ๋ฉด ๋ง์กฑํ๋ค๋ ์๋ฏธ์
๋๋ค.-U
์๋ฏธ ์ฒด๊ณ๋ก pip install --eager-recursive
์ต์
์ ์ถ๊ฐํฉ๋๋ค.--no-eager
๋ ๊ธฐ๋ณธ๊ฐ์ผ๋ก ์ ์ง๋ฉ๋๋ค.pip install
์ ๋ฒ์ ๋ฒํธ๊ฐ ์ฒจ๋ถ๋์ง ์์ ์๊ตฌ ์ฌํญ์ด ์ ๋ฌ๋๊ณ ์ด ์๊ตฌ ์ฌํญ์ด ์ด๋ฏธ ์ถฉ์กฑ๋๋ฉด ํจํค์ง๋ฅผ ์
๊ทธ๋ ์ด๋ํ์ง ์์์ง๋ง ์์ผ๋ก๋ ์
๊ทธ๋ ์ด๋ํ ๊ฒ์ด๋ผ๋ ๊ฒฝ๊ณ ๋ฅผ ์ถ๋ ฅํฉ๋๋ค. ํ์ฌ ๋์์ ์ ์งํ๋ ค๋ฉด --no-eager
์ฌ์ฉํด์ผ ํฉ๋๋ค.pip install -U
์ ๋ํ ์ฌ์ฉ ์ค๋จ ๊ฒฝ๊ณ ์ถ๊ฐ pip install --eager-recursive
ํ ๋ฒ์ Y:
pip install
์ ๊ธฐ๋ณธ๊ฐ์ --eager
ํ ๋ฒ์ Z:
pip install -U
์ ๊ฑฐ๋๋ --eager
์ด๋งํ๊ธฐ ๋๋ฌธ์ Y์ Z๋ฅผ ๋ค๋ฅธ ๋ฒ์ ์ผ๋ก ๋ง๋ค์์ต๋๋ค. ๊ทธ๋์ ์๋ง๋ ์ฐ๋ฆฌ๋ ๋ ๊ณต๊ฒฉ์ ์ธ ์ผ์ ์ผ๋ก ๊ทธ ๋ณ๊ฒฝ์ ํ ์ ์์ง๋ง ๋ง์ ๋ฌธ์๊ฐ ์ด๋ฏธ ์ฐธ์กฐํ๊ณ ์๊ธฐ ๋๋ฌธ์ pip install -U
์ ์ ์ ์งํฉ๋๋ค. ํด๋ฅผ ๋ผ์น์ง ์์ต๋๋ค. ๊ทธ๋ฌ๋ ๋ถ๋ช
ํ Y = Z๋ ์ต์
์
๋๋ค :-)
@chriskrycho : ๋ชจ๋ ๊ฒ์ด ์ข์ ๊ฒ ๊ฐ์ง๋ง ์ด ๋ ผ์๋ ์ฌ์ฉ์๊ฐ ๋ช ์์ ์ผ๋ก ์ต์ ๋ฒ์ ์ ํจํค์ง๋ก ์ ๊ทธ๋ ์ด๋๋ฅผ ์์ฒญํ๋ ค๊ณ ํ๋ ์ํฉ์ ์ฒ๋ฆฌํ๋ ๋ฐฉ๋ฒ์ ๋ํ ๊ฒ์ ๋๋ค. ์ด๋ ์ค๋๋ ์ด๋ฏธ ์ผ๋ฐ์ ์ผ๋ก ๋ฐ์ํ๋ ์ํฉ์ด๋ฉฐ ์ฐ๋ฆฌ๋ ์ข์ ๋๋ต์ด ์์ต๋๋ค. ์์ง ๊ณ ์ ์ง์์ ์์ฒญํ๋ ๋ฒ๊ทธ๊ฐ ์ด๋ ค ์๋์ง ๋ชจ๋ฅด๊ฒ ์ง๋ง ๊ทธ๋ ์ง ์์ ๊ฒฝ์ฐ ์์ํด์ผ ํฉ๋๊น?
์ ์ ์ผ๋ก; ๋ด ์์ (์ด์ ๋๋ ์์ ํ ๋ช ์ํ์ง ๋ชปํ๋ค๋ ๊ฒ์ ์๊ณ ์์ต๋๋ค!)์ ์ฌ๊ธฐ์ ์ฑํ๋ ์๋ฃจ์ ์ด ๋ฏธ๋์ ๊ทธ๋ฐ ์ข ๋ฅ์ ์์ ์ ์ทจํ๋ ๊ฒ๊ณผ ์ถฉ๋ํ์ง ์์์ผ ํ๋ค๋ ์ ์ ์ฃผ๋ชฉํ๋ ๊ฒ์ ๋๋ค.
pip์ ์ผ๋ฐ์ ์ธ ์ฌ์ฉ ์ค๋จ ๊ฒฝ๋ก๋ ๋ฌด์์ ๋๊น? ์๊ฐ/๋ฒ์ ๊ธฐ๋ฐ? ์ ๊ฑฐํ๊ธฐ ์ ์ ์ด๋ค ๊ฒ์ด ๋ ์ด์ ์ฌ์ฉ๋์ง ์์์ผ ํฉ๋๊น?
๊ทธ๊ฑด ๊ทธ๋ ๊ณ , "์ด์ฌํ"๋ ์ฌ์ฉ์๊ฐ ์ดํดํ์ง ๋ชปํ๋ ๋จ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค. recursive / only-as-needed recursive / always recursive๊ฐ ํจ์ฌ ๋ ๋ช ํํฉ๋๋ค.
์ฐ๋ฆฌ๋ ์ผ๋ฐ์ ์ผ๋ก ๋ ๊ฐ์ง ๋ฒ์ ์ ์ฌ์ฉ ์ค๋จ ์ฃผ๊ธฐ๋ฅผ ์ํํฉ๋๋ค.
๋ด๊ฐ ๊ฐ์ ํ๋ ์ฃผ์ ๋ฒ์ ? ๋ถ ๋ฒ์ ์ ์ ๋ง ๋น ๋ฆ ๋๋ค(7.0 -> 7.1์ ํ ๋ฌ์ด์์ต๋๋ค). ์ผ๋ฐ์ ์ผ๋ก ์ฃผ์ ๋ฒ์ ์ฌ์ด์ ๋ฐ๋ ์ด ์์ผ๋ฏ๋ก ์ฌ์ฉ ์ค๋จ ๊ฒฝ๊ณ ๋ 1๋ ์ ๋๊น?
๋ค, ์ฃ์กํฉ๋๋ค. ์ฃผ์ ๋ฒ์ . 8.x์์ ๋ ์ด์ ์ฌ์ฉ๋์ง ์๋ ํญ๋ชฉ์ด ์์ผ๋ฉด ๋๋จธ์ง 8.x์๋ ๋ ธ๋์ ๊ฒฝ๊ณ , 9.x์๋ ๋นจ๊ฐ์ ๊ฒฝ๊ณ , 10.x์์๋ ์ ๊ฑฐ๋ฉ๋๋ค.
๊ฐ์ฌ ํด์.
์์ @dstufft์ ์ฝ๋ฉํธ๋ฅผ ๋ณต์ฌ https://github.com/pypa/pip/pull/3194#issuecomment -152357835 ์ฌ๊ธฐ,์ด ์ํฉ์ ๊ฐ์ฅ ์์ฝ ๋๋ฌธ์ :
๋ด ์๊ฐ์ tl;dr์ "๊ธฐ๋ณธ" ๋์์ ์์ ํด์ผ ํ๋ค๊ณ ์์ ํ ์๊ฐํ๊ณ ์์ ํ๋ ํน์ ๊ตฌํ์ ํด๊ฒฐํ๊ธฐ๋ง ํ๋ฉด ๋ฉ๋๋ค.
- UX๋ฅผ โโpip install --upgrade๋ก ์ ์งํ๊ณ ๊ธฐ๋ณธ๊ฐ์ ๋ณ๊ฒฝํฉ๋๋ค.
- "์ฌ๋ฐ๋ฅธ" ๊ธฐ๋ณธ๊ฐ์ผ๋ก UX๋ฅผ pip ์ ๊ทธ๋ ์ด๋๋ก ์ด๋ํ๊ณ --recursive ํ๋๊ทธ๋ฅผ ์ถ๊ฐํฉ๋๋ค.
- UX๋ฅผ โโpip install๋ก ์ด๋ํ๊ณ --upgrade๋ฅผ ์ ๊ฑฐํ๊ณ --recursive ํ๋๊ทธ๋ฅผ ์ถ๊ฐํฉ๋๋ค.
๋ด 2c:
(1) UX๊ฐ ์ข๊ณ ์ง๊ธ ํ ์ ์์ต๋๋ค.
(2) ์กฐ๊ธ ๋ ๋์ UX( install
๋ฐ upgrade
), ์ง๊ธ ์ํํ ์ ์์
(3) ๋ ๋ฒ์งธ๋ก ์ข์ UX, pip install
์ ์ง๊ธ ์ํํ ์ ์์ผ๋ฉฐ --upgrade
์ ๊ฑฐ๋ 10.0์์๋ง ์ํ๋ฉ๋๋ค(8.0 ๋ฐ 9.0์์ ๋ ์ด์ ์ฌ์ฉ๋์ง ์์).
(1)์ ๋ํ ํ์ ํธํ์ฑ ๋ฌธ์ (์ด๋ ์ชฝ์ด๋ ์ฌ์ํด์ผ ํจ)๊ฐ (3)์ ๋ํ ๊ฒ๋ณด๋ค ์ ๋์์ง ๋ชจ๋ฅด๊ฒ ์ต๋๋ค. ๋ฐ๋ผ์ (1)์ด ๊ฐ์ฅ ์ข์ ๊ฒ ๊ฐ์ต๋๋ค. bw compat๊ฐ ์ ๋ง ๊ฑฑ์ ๋๋ค๋ฉด (2)๋ฅผ ์ ํํ์ญ์์ค.
์ด์จ๋ , ๊ทธ๊ฒ์ ๋ฐค์ด๋ผ๊ณ ๋ถ๋ฅผ ์๊ฐ.
(3)๊ณผ (1)์ ์ฐจ์ด์ ์ ์ค์น ๋๋ ์ ๊ทธ๋ ์ด๋๊ฐ ์ฌ๋๋ค์ด ์ํ๋ ๊ฐ์ฅ ์ผ๋ฐ์ ์ธ ์์ ์ด๋ผ๊ณ ์๊ฐํ๋์ง ์ฌ๋ถ์ ๋ฌ๋ ค ์๋ค๊ณ ์๊ฐํฉ๋๋ค. ๊ทธ๋ ๋ค๋ฉด (3)๊ณผ ๊ฐ์ด ์งง์ ๋ช ๋ น์ผ๋ก ๋ง๋๋ ๊ฒ์ด ๊ฐ์ฅ ์ข์ต๋๋ค. ์ด๋ ์ชฝ์ด๋ ํฐ ๋ฌธ์ ๋ ์๋๋๋ค.
๊ทธ๊ฑด ๊ทธ๋ ๊ณ , "์ด์ฌํ"๋ ์ฌ์ฉ์๊ฐ ์ดํดํ์ง ๋ชปํ๋ ๋จ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค. recursive / only-as-needed recursive / always recursive๊ฐ ํจ์ฌ ๋ ๋ช ํํฉ๋๋ค.
๋๋ "์ด์ฌํ" ์ฒ ์๋ฒ์ ์ ํ ๊ด์ฌ์ด ์์ง๋ง ์ฌ๊ท๋ ์
๊ทธ๋ ์ด๋๋ฅผ ์ผ๊ณ ๋๋ ์ฃผ์ ๋จ์ด๋ก ์ดํด๋์ง ์์ต๋๋ค. --upgrade-non-recursive
(๋ฏธ๋์ ๊ธฐ๋ณธ๊ฐ), --upgrade-recursive
, --upgrade-none
์ ๋๋ฅผ ์ฌ์ฉํ ์ ์๋ค๊ณ ์๊ฐํ์ง๋ง ์ฌ์ ํ ํผ๋์ค๋ฌ์ด ์ฌ๊ท ๋์์ด ์ ๊ฒฝ์ ์์ต๋๋ค( --upgrade-non-recursive
๋ ๋ด๊ฐ ์ด๋ฏธ ๋ ๊ฑฐ์ -U ์ต์
์ ์ด์ํ ์ฌ๊ท ๋์์ ์ต์ํ์ง ์์ ๊ฒฝ์ฐ๋ฅผ ์๋ฏธํ๋ฉฐ --upgrade-none
๋ ์์ฒด ์ ์ง๋ฅผ ์ํด ํ์ํ ๊ฒฝ์ฐ์๋ ํจํค์ง๊ฐ ์
๊ทธ๋ ์ด๋๋์ง ์๋๋ก ํ๋ ๊ฒ์ฒ๋ผ ์๋ชป ๋ค๋ฆฝ๋๋ค. ์ผ๊ด์ฑ.
์ฐ๋ฆฌ๊ฐ ์ด ๊ฒฝ๋ก๋ฅผ ๊ฐ๋ค๋ฉด ๋๋ถ๋ถ์ ์ฌ๋๋ค์ด ์ํ๋ ์ต์ ์ด ๊ธฐ๋ณธ๊ฐ์ด๊ณ ์ฌ๊ท์ ์ ๊ทธ๋ ์ด๋ ๋ฐ ์ ๊ทธ๋ ์ด๋ ์์ ์ต์ ์ด ๋ชจ๋ ๋๋ถ๋ถ์ ์ฌ์ฉ์๊ฐ ๊ฑฐ์ ์ฌ์ฉํ์ง ์๋ ํน๋ณํ ์ต์ ์ด๊ธฐ ๋๋ฌธ์ ์ฒ ์ ๊ธฐ๊ฐ์ ๋ํด ๊ทธ๋ค์ง ์ ๊ฒฝ ์ฐ์ง ์์ต๋๋ค. ๋ฌด์ํ ์ ์์ต๋๋ค.
--upgrade-non-recursive
(ํฅํ ๊ธฐ๋ณธ๊ฐ) ...
๋น์ฐํ ํผ๋์ค๋ฝ์ต๋๋ค. ๊ทธ๋ฌ๋ ์ด ์ค์์น๋ฅผ ์ ํ ์ ๊ณตํ์ง ์๋ ๊ฐ์ฅ ๊ฐ๋จํ ์ต์ ์ ๋ฌด์ํ๊ณ ์์ต๋๋ค. ๊ธฐ๋ณธ ๋์๊ณผ ๋์ผํ๋ค๋ฉด ์ ํ์ํ ๊น์?
(3)๊ณผ (1)์ ์ฐจ์ด์ ์ ์ค์น ๋๋ ์ ๊ทธ๋ ์ด๋๊ฐ ์ฌ๋๋ค์ด ์ํ๋ ๊ฐ์ฅ ์ผ๋ฐ์ ์ธ ์์ ์ด๋ผ๊ณ ์๊ฐํ๋์ง ์ฌ๋ถ์ ๋ฌ๋ ค ์๋ค๊ณ ์๊ฐํฉ๋๋ค.
"์ค์น"๋ฅผ ๊ธฐ๋ํฉ๋๋ค. ์ ์ด๋ ๋๋ ์ผ๋ถ๋ฌ ๋ง์ด ์ฌ์ฉํ๋ ํจํค์ง๋ง ์
๊ทธ๋ ์ด๋ํ๋ค๋ ๊ฒ์ ์๊ณ ์์ง๋ง ํฅ๋ฏธ๋กญ๊ณ ์ ์ฉํ ๊ฒ์ ๋ณผ ๋๋ง๋ค ๋จ์ํ pip install pkgname
๋จ์ด์ ธ ์์ต๋๋ค.
(์ผ๋ฐ ์ฌ์ฉ์๋ ์๋๋ฏ๋ก ๋ด ์์์ด ํ๋ฆด ์ ์์)
๋๋ ๋ด๊ฐ ์ฐฌ์ฑํ ๊ฒ์ด๋ผ๊ณ ์๊ฐํ๋ค:
pip install
์ ๋ณ์นญ์ด ๋ ์ pip upgrade
์์pip install
( --upgrade*
์ต์
์์) ๋์์ด ๋ณ๊ฒฝ๋์ง ์์pip install --some_name
๋ ์ข
์์ฑ์ด ์๋ ๋ช
๋ น์ค์ ์ง์ ๋ ํจํค์ง๋ง ์
๊ทธ๋ ์ด๋ํ๋ ค๊ณ ํฉ๋๋ค.pip install --some_other_name
์ด์ --upgrade
๋์์ ๊ณ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.๋ค์ ๋ ๊ฐ์ง ์ต์ ์ด ์์ต๋๋ค.
--some_name
๋ --upgrade
์๊ณ --some_other_name
๋ ๊ฐ์ฅ ์ข์ ๋ณด์ด๋ ๊ฒ์ด ๋ ์ ์์ต๋๋ค.--upgrade
๋ ๋ ์ด์ ์ฌ์ฉ๋์ง ์๋๋ค๋ ๊ฒฝ๊ณ ๋ฅผ ํ์ํ๋ฉฐ ์ด์ ๋์์ ์ ์งํ๊ฑฐ๋ ๋ ์์ ํ --some_name
์ ํํ๋ ค๋ฉด --some_other_name
๋ฅผ ์ฌ์ฉํด์ผ ํฉ๋๋ค. ํ์ํ ๊ฒฝ์ฐ์๋ง ์ง์ ๋ ํจํค์ง ๋ฐ ํด๋น ์ข
์์ฑ์ ์
๊ทธ๋ ์ด๋ํฉ๋๋ค.์ด ๋ ๋ฒ์งธ ๊ฒฝ์ฐ์๋ --some_name
๊ฐ --upgrade
์ ์์ต๋๋ค . ๋ฐ๋ผ์ --some_name
๋ฐ --some_other_name
๋ํ ๋ ๊ฐ์ ์ ์ต์
์ด๋ฆ์ ์ฐพ์์ผ ํฉ๋๋ค.
๋ช
๋ฐฑํ "์ต๊ณ " ์๋ฃจ์
์ pip install
๋ฅผ ๋ช
๋ น์ผ๋ก ์ ์งํ๊ณ --upgrade
์ ๋์์ ๋ณ๊ฒฝํ์ฌ ์ข
์์ฑ์ ์
๊ทธ๋ ์ด๋ํ์ง ์๋ ๊ฒ ๊ฐ์ต๋๋ค. ์ ์ผํ ์ง์ง ๋ฌธ์ ๋ ์ด์ ๋ฒ์ ๊ณผ์ ํธํ์ฑ์
๋๋ค. ๊ทธ๋ฌ๋ ํ์ฌ ๋์์ ์์กดํ๋ค๊ณ ์ฃผ์ฅํ๋ _any_ ์ฌ์ฉ์๊ฐ ์์ต๋๊น?
๊ฐ์ธ์ ์ผ๋ก, ๋๋ "์ด์ ๋ฒ์ ๊ณผ์ ํธํ์ฑ์ ์ํด ๋ ธ๋ ฅํ๋ค"๋ ๊ฒฌํด๋ฅผ ์ ํธํฉ๋๋ค. ํ์ฌ ๋์์ ์ค์ ๋ก ๋ฒ๊ทธ์ด๋ฉฐ ์ด ๋ณ๊ฒฝ์ ๋ฒ๊ทธ ์์ ์ด ๋ ๊ฒ์ด๋ผ๊ณ ์ฃผ์ฅํ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ์ด๋ ์์ ์์ ์ฐ๋ฆฌ๋ ์ข์ ์ง์ ์ ๋๋ฌํ๋ค๊ณ ๋งํ ์ ์์ด์ผ ํ๋ค๊ณ ์๊ฐํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ฐ๋ฆฌ๋ ์ด์ ๋ฒ์ ๊ณผ์ ํธํ์ฑ์ ๋ํด ํจ์ฌ ๋ ์๊ฒฉํ ๊ด์ ์ ์ทจํ ๊ฒ์ ๋๋ค. ์ฐ๋ฆฌ๊ฐ ์์ง ๊ทธ ์์ ์ ์์ง ์๋ค๊ณ ์๊ฐํ์ง๋ง, ๊ทธ ์์ ์ ๋๋ฌํ๊ธฐ ์ํด ์์ง ํด์ผ ํ ์ผ์ด ๋ฌด์์ธ์ง ์ปค๋ฎค๋ํฐ์ ์๋ฆฌ๊ธฐ ์์ํด์ผ ํ ์๋ ์์ต๋๋ค.
์ค์น๋ ๋ชจ๋ ํจํค์ง๋ฅผ ์
๊ทธ๋ ์ด๋ํ๋ ค๋ฉด ์ผ์ข
์ pip install --upgrade :all:
๋ช
๋ น์ด ํ์ํฉ๋๋ค(IMO). ๊ทธ๋ฌ๋ ๊ทธ๊ฒ์ ์๋ก์ด ๊ธฐ๋ฅ์ด๋ฏ๋ก ์ฌ๊ธฐ์๋ ๊ด๋ จ์ด ์์ต๋๋ค.
ํ์ฌ ๋์์ ํนํ ๋จ์ผ ํ๋ก์ ํธ๊ฐ ์๋๋ผ ์ค์ ๋ก ํ๋ก์ ํธ ๋ชจ์์ธ ํผ๋ผ๋ฏธ๋์ ๊ฐ์ ํ๋ก์ ํธ์ ์ ์ฉํฉ๋๋ค. ํผ๋ผ๋ฏธ๋์ ๋ชจ๋ ์ข
์์ฑ์ ์ต์ ๋ฒ์ ์ผ๋ก ์
๊ทธ๋ ์ด๋ํ๊ธฐ ์ํด pip install --upgrade-recursive Pyramid
์ ๊ฐ์ ์์
์ ์ํํ ์ ์์ผ๋ฉด ์ ์ฉํ ๊ฒ์
๋๋ค. ์ฌ๊ท ํญ๋ชฉ์ ๋ชจ๋ ์ ๊ฑฐํ๋ฉด ๋ชจ๋ ์ข
์์ฑ์ ์๋์ผ๋ก ์ถ์ ํ๊ณ pip install --upgrade Pyramid dep1 dep2 dep3 dep4
(์ ์ฒด ์ข
์์ฑ ํธ๋ฆฌ ํฌํจ)๋ฅผ ์ํํ๊ฑฐ๋ ๊ฐ์์ pip install --upgrade :all:
ํ๊ณ ์ถ๊ฐ ์
๊ทธ๋ ์ด๋๋ฅผ ์ํํด์ผ ํฉ๋๋ค. ๋ด๊ฐ ์ค์ ๋ก ์
๊ทธ๋ ์ด๋ํ๊ณ ์ถ์ ๊ฒ๋ณด๋ค. #3194์์ ์ต์ํ ํ ๋ช
์ ์ฌ์ฉ์๊ฐ ํ๋๊ทธ๋ฅผ ํตํด ํ์ฌ ๋์์ ์ฌ์ฉํ ์ ์๊ธฐ๋ฅผ ์ํ๋ค๊ณ ์ธ๊ธํ์ต๋๋ค. ์ด๋ ๊ฒฝ์ฐ์ ๋ฐ๋ผ ์ ์ฉํ๊ธฐ ๋๋ฌธ์
๋๋ค.
pip install
์๋ฌต์ ์ผ๋ก "์ต์" ์
๊ทธ๋ ์ด๋๋ฅผ ์ํํ๋๋ก ๋ง๋ค์ง ์๋ ์ด์ (์ด์ ๋ฒ์ ๊ณผ์ ํธํ์ฑ ์ ์ธ)๊ฐ ์์ต๋๊น? ์ด๋ค ์ํฉ์์ ์ค์ ๋ก ์ค์น๋ง ํ๊ณ ์
๊ทธ๋ ์ด๋๋ ํ์ง ์๊ธฐ๋ฅผ ์ํ๋์ง ์์๋ด๋ ค๊ณ ํฉ๋๋ค(IOW, ์ต์ ๋ฒ์ ์ด ์์ง ์ค์น๋์ด ์์ง ์์ ๊ฒฝ์ฐ์๋ ์ข์ง๋ง ์ค์น๋์ด ์๋ ๊ฒฝ์ฐ์๋ ๊ทธ๋ ์ง ์์ ๊ฒฝ์ฐ). ์ค์น๋จ) ํ์ฌ ๋์์ ์ํ๋ ๊ฒฝ์ฐ์ ๋ฌธ์ ๊ฐ ์์ต๋๋ค.
๋๋ #3194์์์ ๊ฐ์ด _new_ pip upgrade [--recursive]
๋ช
๋ น์ ๋ํ ์์ด๋์ด๋ฅผ ์ข์ํฉ๋๋ค( install --upgrade
์ฌ์ฉ ์ค๋จ)
ํธํ์ฑ์ ๊นจ๋จ๋ฆฌ๊ฑฐ๋ ๋ณต์กํ ์ฌ์ฉ ์ค๋จ์ด ์๊ฑฐ๋ ๋ ๋ง์ ๋ณ๊ฒฝ ๋๋ ๋ณต์ก์ฑ์ผ๋ก ์ด๋ฏธ ์ต์
์ด ๋ง์ pip install
๋ถ๋ด์ ์ฃผ๋ ์ ํ์ ๋ํด ์ฐ๋ คํ๊ณ ์์ต๋๋ค. ๋ํ ์ ๋ ๊ฐ์ธ์ ์ผ๋ก "์
๊ทธ๋ ์ด๋" ๋ช
๋ น์ ๋งค๋ ฅ์ ๋๋๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก ๋ฐฐํฌํ ๋๊ตฌ๊ฐ ์๋ํ๋ ๋ฐฉ์๊ณผ ์ ์ฌํ๊ฒ ์
๊ทธ๋ ์ด๋๋ฉ๋๋ค. "์ค์น" ์ค์น ๋ฐ "์
๊ทธ๋ ์ด๋" ์
๊ทธ๋ ์ด๋...
๋๋ "๊ทธ๊ฒ์ ์ถ๊ตฌํ๊ณ ์ด์ ๋ฒ์ ๊ณผ์ ํธํ์ฑ์ ์ถ๊ตฌ"ํ๋ ๊ฒฝํฅ์ด ์์ต๋๋ค.
๋๋ ์๋๋๋ค :) ์ ์ด๋ ์ด์ ๊ฐ์ ํต์ฌ ๋ ผ๋ฆฌ์ ๋ํด์๋.
pip install์ด ์์์ ์ผ๋ก "์ต์" ์ ๊ทธ๋ ์ด๋๋ฅผ ์ํํ๋๋ก ๋ง๋ญ๋๋ค.
์ ์๊ฒ๋ ์ด๊ฒ์ด ์์์ด ์๋ ๊ฒ์ฒ๋ผ ๋ณด์
๋๋ค. ๋ง์ต๋๊น? ๋ฐ์ํ ์ ์๋ ์๋ํ๋ ๋น๋ ์์์ ์๋ฅผ ๊ณ ๋ คํ์ญ์์ค. ๋ํ ์ฌ๋๋ค์ pip install
๊ฐ ๋ฌด์์ธ์ง์ ๋ํ ํน์ ์์ ์์ ๊ฐ๋
์ ๋ชจ๋ธ์ ๊ฐํ๊ฒ ๋๋ฉฐ ์ด๋ ์๋ก์ด ๋ฉํ ๋ชจ๋ธ์ ๋ค์ ๋ก๋ํด์ผ ํฉ๋๋ค. ์ฌ๋๋ค์ ๊ทธ๊ฒ์ ์ข์ํ์ง ์์ต๋๋ค.
@qwcode ์ ๋ชจ๋ฅด๊ฒ ์ง๋ง pip upgrade
์ ์ฃผ์ ๋ฌธ์ ๋ ์ฌ๋๋ค์ด "์ค์น ์ฌ๋ถ์ ๊ด๊ณ์์ด ์ต์ ๋ฒ์ ์ ์ ๊ณตํ์ญ์์ค"๋ผ๊ณ ๋งํ๋ ๋ฐฉ๋ฒ์ ์ ๊ฑฐํ๊ฑฐ๋ ๊ฑฐ์ ์์ ํ ๋์ผํ ์์
์ ์ํํ๋ ๋ ๊ฐ์ ๋ช
๋ น( pip install
๋ฐ pip upgrade
). ์ด ๋จ๊ธฐ์ ์ผ๋ก ์ผ๋ถ ํ์์ด ๋ ,ํ์ง๋ง ๋ ์กฐ๊ธ์ ์ค์ ์ ์ ๋ชจ๋ธ ๊ฑฑ์ ์๋ pip upgrade
I๊ฐ์์ ์์ ์ ์ค์น ์ง์นจ์ ๋์ฒดํ๋ ์ฌ๋๋ค์ด ๋น๋ ํ์ฐ์ ๋ณผ ์ ์๊ธฐ ๋๋ฌธ์ pip install foo
๋ก pip upgrade foo
(ํ์ง๋ง ๋ด๊ฐ ์์ง ์ค์นํ์ง ์์ ๊ฒ์ ์
๊ทธ๋ ์ด๋ํ๋ ์ด์ ๋ ๋ฌด์์
๋๊น?!).
์ด, ๋ด ๋ง์ ๊ด์ฐฎ์ ๊ฒ ๊ฐ์์.
์ค์น ์ง์นจ์
pip install foo
์์pip upgrade foo
๋์ฒดํ๋ ๋๋ฆฌ ํผ์ง
roger, ๊ทธ๋์ upgrade
๋ฅผ ์
๊ทธ๋ ์ด๋ํด์ผ ํ๋ค๊ณ ์๊ฐํฉ๋๋ค. "๋ฅ" --fill-in-missing
์ ๊ดํด์๋, ๋๋ ๊ทธ๊ฒ์ ์ง์ฐฉํ์ง ์์ผ๋ฏ๋ก ๋ด๊ฐ ๊ทธ๊ฒ์ ๊ฐ์ ธ์ผ ํ๋ค๋ ์๋ฏธ๋ก ๋ฐ์๋ค์ด์ง ๋ง๊ณ ์๋๋ฅผ ์ฐธ์กฐํ์ญ์์ค.
"์ค์น ์ฌ๋ถ์ ๊ด๊ณ์์ด ์ต์ ๋ฒ์ ์ ์๋ ค์ฃผ์ธ์"
FOO
๊ฐ ์์ผ๋ฉดpip install FOO
์ด๊ณ ์ต์ ๋ฒ์ ์ ์ป์ต๋๋ค.FOO
๊ฐ ์์ผ๋ฉดpip upgrade FOO
์ด๊ณ ์ต์ ๋ฒ์ ์ ์ป์ต๋๋ค.
๋๋ ์ฐ๋ฆฌ๊ฐ 2๊ฐ์ง ๊ฒฝ์ฐ์ ๋ํด ์ด์ผ๊ธฐํ๊ณ ์๋ค๊ณ ์๊ฐํฉ๋๋ค.
FOO
๊ฐ ์๋์ง ์ฌ๋ถ๋ฅผ ๋ชจ๋ฅด๊ฒ ์ผ๋ฉฐ _one_ ๋ช
๋ น์ด ์ต์ FOO
๋ฅผ ๊ฐ์ง๊ณ ์๋์ง ์ฌ๋ถ์ ๊ด๊ณ์์ด ๊ฐ์ ธ์ค๊ณ ์ถ์ต๋๋ค.FOO
๋ฐ BAR
์ค ์ต์ ์ ๋ณด๋ฅผ ์ป๊ธฐ๋ฅผ ์ํฉ๋๋ค. FOO
์ค์นํ์ง๋ง BAR
์ค์นํ์ง ์์์ต๋๋ค.์ฌ์ฉ์์๊ฒ _one_ ๋ช
๋ น์ด ํ์ํฉ๋๊น? ๋๋ ์ฌ๋๋ค์๊ฒ ๋จ์ถํค๋ฅผ ์ ๊ณตํ๋ ๊ฒ๋ณด๋ค ๋ช
๋ น์ ๋จ์์ฑ๊ณผ ๋ช
ํ์ฑ์ ์ ํธํฉ๋๋ค. ๊ทธ๋ฌ๋ ์ฌ์ฉ์๊ฐ ์๊ตฌํ๋ฉด --fill-in-missing
์ ๊ฐ์ ๊ฒ์ด ๋ค์ด์ต๋๋ค.
๋ํ ์ ๋ ๊ฐ์ธ์ ์ผ๋ก "์ ๊ทธ๋ ์ด๋" ๋ช ๋ น์ ๋งค๋ ฅ์ ๋๋๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก ๋ฐฐํฌํ ๋๊ตฌ๊ฐ ์๋ํ๋ ๋ฐฉ์๊ณผ ์ ์ฌํ๊ฒ ์ ๊ทธ๋ ์ด๋๋ฉ๋๋ค. "์ค์น" ์ค์น ๋ฐ "์ ๊ทธ๋ ์ด๋" ์ ๊ทธ๋ ์ด๋...
์ค๋ช ์์ : ์ธ ๊ฐ์ง ์ธ๊ธฐ ์๋ ๋ฐฐํฌํ ๋๊ตฌ์ AFAICT์ ์๋ ๋ฐฉ์์ ํ์ธํ์ต๋๋ค(๋ถ๋ถ์ ์ผ๋ก ์ด๊ฒ์ ๋งค๋ด์ผ ํ์ด์ง b/c๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํฉ๋๋ค. ์ ๋ ์ด ๋ชจ๋ ๊ฒ์ ์ง์ ์ฌ์ฉํ์ง ์์ต๋๋ค).
apt install <pkg>
๋ "์
์คํจ"์ ์ํํฉ๋๋ค. ์ด๋ฏธ ์ค์น๋์๋์ง ์ฌ๋ถ์ ๋ฐ๋ผ ์
๊ทธ๋ ์ด๋ ๋๋ ์ค์นํฉ๋๋ค.apt upgrade
์ค์น๋ ๋ชจ๋ ํจํค์ง ์
๊ทธ๋ ์ด๋apt upgrade <pkg>
์ด(๊ฐ) ์กด์ฌํ์ง ์์ต๋๋ค. ๋จ์ผ ํจํค์ง๋ฅผ ์
๊ทธ๋ ์ด๋ํ๋ ์ ์ผํ ๋ฐฉ๋ฒ์ apt install <pkg>
(๋ค์ํ ์ข
๋ฅ์ ๋ฒ์ ์ง์ ์๋ฅผ ํ์ฉํจ).yum install <pkg>
๋ "์
์คํจ"์ ์ํํฉ๋๋ค.yum upgrade
์ค์น๋ ๋ชจ๋ ํจํค์ง ์
๊ทธ๋ ์ด๋yum upgrade <pkg>
๋ ์ง์ ๋ ํจํค์ง ๋ชฉ๋ก์ ์
๊ทธ๋ ์ด๋ํฉ๋๋ค. ์์ง ์ค์น๋์ง ์์ ๊ฒฝ์ฐ ์ด๋ป๊ฒ ๋๋์ง ๋ชจ๋ฅด๊ฒ ์ต๋๋ค.brew install <pkg>
๋ "์
์คํจ"์ ์ํํฉ๋๋ค.brew upgrade
๋ชจ๋ ํจํค์ง ์
๊ทธ๋ ์ด๋brew upgrade <pkg>
๋ ์ง์ ๋ ํจํค์ง ๋ชฉ๋ก์ ์
๊ทธ๋ ์ด๋ํฉ๋๋ค. ์์ง ์ค์น๋์ง ์์ ๊ฒฝ์ฐ ์ด๋ป๊ฒ ๋๋์ง ๋ชจ๋ฅด๊ฒ ์ต๋๋ค.๋ฐ๋ผ์ ์ ๊ทธ๋ ์ด๋๋ฅผ ์ํด install์ ์ฌ์ฉํ๋ ๊ฒ์ ์ค์ ๋ก ๋ฐฐํฌ ๋๊ตฌ๊ฐ ํ๋ ์ผ์ ๋๋ค :-). ์ฐ๋ฆฌ๋ ๊ทธ๋์ผ ํ๋ค๋ ๋ป์ ์๋๋๋ค. ๊ทธ๋ฅ ๋ฐ์ดํฐ ํฌ์ธํธ.
๋๋ ๋ด๊ฐ FOO๋ฅผ ๊ฐ์ง๊ณ ์๋์ง ์ฌ๋ถ๋ฅผ ์์ง ๋ชปํ๋ฉฐ, ๋ด๊ฐ ๊ฐ์ง๊ณ ์๋์ง ์ฌ๋ถ์ ๊ด๊ณ์์ด ์ต์ FOO๋ฅผ ์ป๊ธฐ ์ํด ํ๋์ ๋ช ๋ น์ ์ํฉ๋๋ค.
์ด์ ๋ํ ๊ฐ์ฅ ๋ถ๋ช
ํ ์ ์ค ์ผ์ด์ค๋ ๋ฌธ์ํ์ ์๋ค๊ณ ์๊ฐํฉ๋๋ค. ์: ์ฌ๋๋ค์๊ฒ pip install -U <some package>
๋ฅผ ์คํํ๋๋ก ์ง์ํ๋ ๋ค๋ฅธ ์ค๋ ๋์์ ๋งํฌํ django ๋ฌธ์. ๋น์ ์ ์ฌ๋๋ค ๋งํ๊ณ ์ถ์ดํ์ง ์๋๋ค "์คํ์ pip install <pkg>
๋ฅผ ์ ์ธํ๊ณ ๋น์ ์ ์ด๋ฏธ ์คํ ์ค์น ํ ๊ฒฝ์ฐ pip upgrade <pkg>
"๊ทธ๊ฒ์ ๋๋ฌด ์ด๋ณด์๋ฅผ์ํ ํผ๋ ๋ฐฉ๋ฒ์,ํ์ง๋ง ๋ง์ฝ ๋๋ฌธ์ install
์๋ฌดํผ ' ์
๊ทธ๋ ์ด๋ํ ๋ค์ ์ฌ๋๋ค์๊ฒ pip install <pkg>
๋ฅผ ์คํํ๋ผ๊ณ ๋งํ๋ ๊ฒ ๋ํ ์ฌ๋๋ค์ด ์ด์ ๋ฒ์ ์ด ์ค์น๋ ํํ ๋ฆฌ์ผ์ ํตํด ์์
์ ์์ํ๊ณ ์ ๋๋ก ์๋ํ์ง ์๋ ์ด์ ๋ฅผ ๋ชจ๋ฅด๊ณ ์ฌ์ฉ์๋ฅผ ๋น๋ํ๋ ํผ๋์ ์ผ๊ธฐํ ๊ฒ์
๋๋ค. ๋ฐ๋ผ์ ๋จ์ผ "์
์คํจ" ๋ช
๋ น์ด ํ์ํ๋ฉฐ ๋ฌธ์์ ํฌํจํ๋ ค๋ฉด ๊ฐ๋จํ๊ณ ๋ช
ํํด์ผ ํฉ๋๋ค.
๋น๊ต๋ฅผ ์ํ Homebrew์ ๋์์ ๋ํ ํ์ ์กฐ์น: ์ค์น๋์ง ์์ ํจํค์ง๋ฅผ ์ค์นํ๋ ค๊ณ ํ๋ฉด brew upgrade
์คํจ:
$ brew upgrade git
Error: No such file or directory - /usr/local/Cellar/git
๋ํ ํ์ฌ brew upgrade
๋์์ด ๋ณ๊ฒฝ๋๊ณ ์์ต๋๋ค( ์ฌ๊ธฐ์์ ํ ๋ก --all
๋ฅผ ์๊ตฌํ๋๋ก ์ ํ๋ฉ๋๋ค.
์ค๋ช ํฌ์ธํธ
๋๋ ๋๊ตฐ๊ฐ๊ฐ ์ด๊ฒ์ ์ ํ ํ ๊ฒ์ด๋ผ๋ ๊ฒ์ ์๊ณ ์์์ต๋๋ค. : )
๋๋ ๊ฑฐ์ ๋ ์์ ์๊ฒ ๋๋ตํ๋ค. ์
๊ทธ๋ ์ด๋์ ์ง์คํ์ต๋๋ค.
๋ ์ ๊ทธ๋ ์ด๋
[...] ์์ง ์ค์น๋์ง ์์ ๊ฒฝ์ฐ ์ด๋ป๊ฒ ๋๋์ง ๋ชจ๋ฅด๊ฒ ์ต๋๋ค.
๊ทธ๊ฒ์ ์๋ฌด๊ฒ๋ํ์ง ์์ต๋๋ค
์ ์ค์น
"์ ์คํจ"์ ์ํํฉ๋๋ค.
true์ด์ง๋ง ๊ธฐ๋ณธ ๋์์ ํ์ธ์ ์์ฒญํ๋ ๊ฒ์ธ๋ฐ pip์๋ ์์ต๋๋ค.
๋ค๋ฅธ ์ค๋ ๋์์ ๋งํฌํ django ๋ฌธ์
๋ถ๋ช
ํ ๋งํด์, ๊ทธ๊ฒ๋ค์ ์ค์ Django ๋ฌธ์๊ฐ ์๋์์ต๋๋ค. Django ๋ฌธ์๋ pip install Django
๋ผ๊ณ ๋งํฉ๋๋ค. (https://docs.djangoproject.com/en/1.8/topics/install/)
-U
ํ์ฌ ์๋ํ๋ ๋ฐฉ์์ ๊ณ ๋ คํ ๋ ์ฌ๋๋ค์ด install -U
๋ฅผ ์ฌ์ฉํ๋ ์ต๊ด์ ๊ฐ๋๋ก ํ๋ ๊ฒ์ ์ค์ ๋ก ๋์ ์ผ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค.
์ฐ๊ฒฐ๋ ์์์๋ ์ข
์์ฑ์ด ์๋ redis
๋ํ ๊ฒ์ด๋ฏ๋ก ์ด ๊ฒฝ์ฐ์๋ ๊ด์ฐฎ์ต๋๋ค.
์ฌ๋๋ค์ด ํํ ๋ฆฌ์ผ์ ํตํด ์์ ์ ์์ํ๋ ๊ณณ์์ ํผ๋์ ์ผ๊ธฐํ ๊ฒ์ ๋๋ค.
์ด์ ๋ฒ์ ์ผ๋ก [...] ๋ฐ๋ผ์ ๋จ์ผ "์ ์คํจ" ๋ช ๋ น์ด ํ์ํฉ๋๋ค.
IDK, ํํ ๋ฆฌ์ผ์ด ์ผ๋ฐ์ ์ผ๋ก ์ฌ๋๋ค์๊ฒ ์ค์น๋ฅผ ์ง์ํด์ผ ํ๋ค๋ ๊ฒ์ ๋์๊ฒ ๊ทธ๋ ๊ฒ ๋ถ๋ช ํ์ง ์์ต๋๋ค. ๋๊ตฐ๊ฐ๊ฐ FOO์ ๋ํ ์์ต์๋ฅผ ์ํํ๊ณ ์๊ณ ์ด๋ฏธ FOO๊ฐ ์ค์น๋์ด ์๋ ๊ฒฝ์ฐ ๋งน๋ชฉ์ ์ผ๋ก "์ ์คํจ"ํด์๋ ์ ๋ฉ๋๋ค. ์ ๊ทธ๋ ์ด๋๋ก ์ธํด ๊ธฐ์กด ํ๊ฒฝ์ด ์์๋ ์ ์์ต๋๋ค.
๋๋ ํํ ๋ฆฌ์ผ์ด ์ฌ๋๋ค์๊ฒ "์ ์คํจ"(ํ๋ฅญํ ์ฉ์ด์ ๋๋ค!)์ด๋ผ๊ณ ๋งํด์ผ ํ๋ค๊ณ ์๊ฐํฉ๋๋ค. ์๋ํ๋ฉด ๊ทธ๋ค ์ค ์๋น์๋ ํ๋ก์ ํธ ์์ฒด์ ์ํด ์์ฑ๋์๊ณ ์ฌ๋๋ค์ด ํํ ๋ฆฌ์ผ์ ๋ณผ ๋ ๊ธฐ์กด ๋ฒ์ ์ FOO๊ฐ ๋ฌด์์ธ์ง ๋ณด๊ธฐ ์ํด ๋จผ์ ๋ณด๋ ๊ฒฝ์ฐ๋ ๊ฑฐ์ ์์๊ธฐ ๋๋ฌธ์ ๋๋ค. ์ค์นํ ๊ฒ์ด ์๋๋ผ ์ต์ ๋ฌธ์๊ฐ ๋ฌด์์ด๋ ์ดํด๋ณด๋ ๊ฒฝํฅ์ด ์์ต๋๋ค.
์ ๋ ํ์ฌ -U
์๋ํ๋ ๋ฐฉ์์ด ๋ฌด๋ถ๋ณํ๊ฒ ์ฌ์ฉํ๋ ์ต๊ด์ ๋ค์ด๊ฒ ํ๋ ๊ฒ์ ๋์ ์ต๊ด์ด๋ผ๋ ์ ์ ์ ๋ ๋์ํฉ๋๋ค๋ง, ์ ๊ฐ ์๊ฐํ๋ ํต์ฌ์ ์ ์๋ ํ๋์ ์์ ํ๋ ๊ฒ์ด ๋์ ์ต๊ด์ ์๋๋ผ๊ณ ์๊ฐํฉ๋๋ค , ํ์ง๋ง ์คํ๋ ค ์ข์ ์ผ์
๋๋ค. ํน์ ๋ฒ์ ์ด ์ค์น๋์ด ์๋์ง ํ์ธํด์ผ ํ๋ ๊ฒฝ์ฐ ์ด๋ฏธ ==
ํ๊ณ ์์ด์ผ ํ๋ฉฐ ๋ค์์ ํ์ธํด์ผ ํ๋ ์ฌ๋๋ค์ ์ํด ๊ธฐ๋ณธ "์
์คํจ"์ ์ผ๋ฐ "์ค์น"๋ก ๋๋๋ฆฌ๋ ํ๋๊ทธ๋ฅผ ์ถ๊ฐํ ์ ์์ต๋๋ค. ํ์ฌ ์ค์น๋ ๋ฒ์ ๋๋ ์ต์ ๋ฒ์ ์ด ์ค์น๋์ด ์์ต๋๋ค(์์ง๋ ์ด๊ฒ์ด ์ค์ ๋ก ๋๊ตฐ๊ฐ๊ฐ ์ํ๋ ์๋๋ฆฌ์ค๋ฅผ ์๊ฐํด๋ผ ์๋ ์์ง๋ง).
๋๋ ํํ ๋ฆฌ์ผ์ด ์ฌ๋๋ค์๊ฒ "์ ์คํจ"ํ๋ผ๊ณ ๋งํด์ผํ๋ค๊ณ ์๊ฐํฉ๋๋ค.
๋ค์ ๋งํ์ง๋ง, ๊ทธ๋ค์ด ์๋ ์ด ํ๊ฒฝ์ ๋ฌด์์ ๋๊น? ๋ถ๋ช ํ ์ ๊ทธ๋ ์ด๋ํด๋ ๋๋ ๊ณณ์ ๋๊น? ๋ฐฐํฌํ ์์คํ ํ์ด์ฌ ํ๊ฒฝ์ด๋ผ๋ฉด ํ์คํ ์๋๋๋ค. ์์ฉ ํ๋ก๊ทธ๋จ์ ์ํด ๋ง๋ ๋ค๋ฅธ ํ๊ฒฝ์ด๋ผ๋ฉด ์ค์น๊ฐ ์์ ๋ ์ ์์ต๋๋ค. ํํ ๋ฆฌ์ผ์ ์ํด ๋ฐฉ๊ธ ๋ง๋ ํ๊ฒฝ์ด๋ผ๋ฉด ์ ๊ทธ๋ ์ด๋ํ ํ์๊ฐ ์์ต๋๋ค.
์ฌ๊ธฐ์ ์์ ์ PyPI๊ฐ ๋ฐฐํฌ ๋ฆฌํฌ์งํ ๋ฆฌ์ ๊ฐ์ด "ํ๋ ์ดํธ๋" ๋ฆฌํฌ์งํ ๋ฆฌ๊ฐ ์๋๋ผ๋ ๊ฒ์ ๋๋ค. "์ ์คํจ"์ด ๊ธฐ๋ณธ ๋ฐฐํฌ ๋ฆฌํฌ์งํ ๋ฆฌ์์ ์์ ํ๋ค๋ ๊ฒ์ ์๋นํ ํ์ ํ ์ ์์ต๋๋ค. PyPI์์๋ ์ด๋ฅผ ๋ชจ๋ฆ ๋๋ค. ๋ชจ๋ ์ ๊ทธ๋ ์ด๋๋ ๋ค์ ๋๋ฐ์ ๋๋ค. "์ค์น"๋ ๊ทธ๋๋ก ๋ณด์์ ์ ๋๋ค.
pip install
#988์ ์์ ํ์ง ์๊ณ "์
์คํจ"์ฒ๋ผ ์๋ํ๊ฒ ํ๋ฉด ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ค๋ ์ ์ ๋ช
์ฌํ์ญ์์ค.
A
๋ฐ B
๊ฐ ์ค์น๋๊ณ A
์ B<2
. ์ด์ ์๋ก์ด pip install B
์คํํ์ฌ B
๋ฅผ v3 ๋๋ ๋ฌด์์ด๋ (์ค์น๋ ์ ์ฝ ์กฐ๊ฑด์ ๊ณ ๋ คํ์ง ์๊ธฐ ๋๋ฌธ์) ์
์คํจํฉ๋๋ค. ์ด์ ๋ด ํ๊ฒฝ์ด ์ค๋จ๋์์ต๋๋ค.
ํ์ฌ ์ค์น๋ ๋ฒ์ ๋๋ ์ต์ ๋ฒ์ ์ด ์ค์น๋์ด ์๋์ง ํ์ธํด์ผ ํ๋ ์ฌ๋๋ค์ ์ํ ๊ฒ์ ๋๋ค(์์ง๋ ์ด๊ฒ์ด ์ค์ ๋ก ๋๊ตฐ๊ฐ๊ฐ ์ํ๋ ์๋๋ฆฌ์ค๋ฅผ ์๊ฐํด๋ผ ์๋ ์์ง๋ง).
๊ทธ๋ฌํ ์๋๋ฆฌ์ค๋ฅผ ์๊ฐํด๋ด๋ ๊ฒ์ ์ฌ์ํ ์ผ์
๋๋ค. ์(๋ถํํ๊ฒ๋ ๊ตฌ์ฑ๋์ง ์์): ํ์ฌ statsmodels
๋ ์ต์ pandas
(0.17.0)๋ก ๋๋ฉ๋๋ค. ์ ๋ ๋ ๋ค ์ฌ์ฉ์์
๋๋ค. ๋ง์ Python ๋ฒ์ ์ด ์ค์น๋์ด ์๊ณ venvs๊ฐ ์์ต๋๋ค. ๊ทธ๋์ ๋๋ ๋ชจ๋ Python/venv์ ๋ํด pandas
๊ฐ ์์ง ์๋ ๊ฒฝ์ฐ์๋ง ์ค์นํ๊ณ ์ถ๋ค๋ ๊ฒ์ ์๊ณ ์์ต๋๋ค. ๊ทธ๋ ๋ค๋ฉด ์๋ง๋ statsmodels
๋ ์์ ๊ฒ์ด๊ณ "์
์คํจ"์ ๊ทธ๊ฒ์ ๊นจ๋จ๋ฆด ๊ฒ์
๋๋ค.
@rgommers ํ , ๊ทธ๋์ ๊ฐ์ ํ๊ฒฝ ์ด๋์๋ pandas 0.17.0์ด ์๋ค๊ณ ์ ๋์ ์ผ๋ก ํ์ ํ์ญ๋๊น? pip install pandas!=0.17.0
๋๋ pip install pandas<0.17
ํ๋ฉด ์๋ง ๊ทธ๋ฐ ์ผ์ด ์ผ์ด๋ ์ ์๋ค๊ณ ์๊ฐํ์ง๋ง ์ด๋ฏธ ์ค์นํ ๊ฒ์ ์์กดํ๋ ๊ฒ์ด ์์ ํ ๋ถํฉ๋ฆฌํ ๊ฒ์ ์๋๋ผ๊ณ ์๊ฐํฉ๋๋ค.
ํ , ๊ทธ๋์ ๊ฐ์ ํ๊ฒฝ ์ด๋์๋ ํฌ๋ 0.17.0์ด ์๋ค๊ณ ์ ๋์ ์ผ๋ก ํ์ ํฉ๋๊น?
๋ด๊ฐ ํ ๋ง์ ๊ทธ๊ฒ ์๋์ผ. ๋๋ pandas 0.17.0์ด ์๋ venv๋ฅผ ๊ฐ์ง๊ณ ์๋๋ฐ, statsmodels๊ฐ ์๋ ๊ฒ๋ฟ์
๋๋ค. pip install pandas<0.17
์ด ์์
์ ์ํํ์ง๋ง ๊ทธ๊ฒ์ ์ฌ์ฉํ ์๊ฐ์ ์์์ต๋๋ค(์ฃผ๋ก ํ์ํ์ง ์์๊ธฐ ๋๋ฌธ์ ํ์ฌ install
๋ช
๋ น์ด ์ด ๋ชฉ์ ์ผ๋ก ์๋ํฉ๋๋ค).
์ด์จ๋ , ๋๋ upstall์ ๋ํด ์ ํธํ๊ฑฐ๋ ๋ฐ๋ํ์ง ์์ต๋๋ค. ๋๋ ๋น์ ์ด ํ๋์ ์๋๋ฆฌ์ค๋ฅผ ์๊ฐํด ๋ผ ์ ์๋ค๊ณ ๋งํ์ ๋ ํ์ค์ ์ธ ์๋๋ฆฌ์ค๋ฅผ ์ง์ ํ๊ณ ์ถ์์ต๋๋ค.
+1
์ด ๋ ผ์๋ ๊ฒฐ๋ก ์ ๋ด๋ฆฌ์ง ๋ชปํ ์ฑ ๊ต์ฐฉ ์ํ์ ๋น ์ง ๊ฒ ๊ฐ์ต๋๋ค. ํ ์ด๋ธ์ ๋ชจ๋ ์ต์ ์ ํ์ฌ ์ํ์ ๋ํ ์ฃผ์ ๊ฐ์ ์ฌํญ์ ๋๋ค. ๊ด๋ จ๋ ์ฅ๋จ์ ์ด ๋ชจ๋ ๊ณ ๋ ค๋ ๊ฒ ๊ฐ์ต๋๋ค. ์ญ๋ฐฉํฅ ํธํ์ฑ ๋ ์ต์ API์ ์๋์ ์ค์์ฑ์ ๋ํ ์๊ฒฌ์ ์ฐจ์ด๋ง ์์ ๋ฟ์ ๋๋ค. pip ๊ฐ๋ฐ์๊ฐ ๊ฒฐ์ ์ ๋ง๋ฌด๋ฆฌํ๋ ค๊ณ ์๋ํ ์ ์์๊น์?
@rgommers ๊ทธ๋ค์ ์๋ง๋ ๊ฒฐ์ ์ ํ์ต๋๊น? https://pip.pypa.io/en/stable/user_guide/#only -if-needed-recursive-upgrade
@rgommers ๊ทธ๋ค์ ์๋ง๋ ๊ฒฐ์ ์ ํ์ต๋๊น? https://pip.pypa.io/en/stable/user_guide/#only -if-needed-recursive-upgrade
@Liso77 ๊ฐ์ฌํฉ๋๋ค. ํ์ง๋ง ์๋๋๋ค. ์ด ์ค๋ ๋์ ๋ํ ํ ๋ก ์ ๋ง๋ฌด๋ฆฌํด์ผ ํฉ๋๋ค. ๋งํฌํ ๋ฌธ์๋ ๋ฐ๋ก ์ฌ๊ธฐ๋ฅผ ๊ฐ๋ฆฌํต๋๋ค.
์์ ๊ฒ์ํ ๋งํฌ์ @rgommers ์์ ๊ฐ๋ฐ์๊ฐ ์
๊ทธ๋ ์ด๋ ๋ช
๋ น์ ๋ด๋ฆด ๊ฒ์ด๋ผ๊ณ ์ฝ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ค์น ๋ช
๋ น์ "ํ์ํ ๊ฒฝ์ฐ์๋ง" ์ต์
์ ์ถ๊ฐํ ๊ณํ์ ์์ต๋๋ค. ์ด ์ต์
์ ๋ํ ์ฉ์ด๋ฅผ ์์ฑํ์ง ์๊ณ ์ธ์ฉ ๋ถํธ๋ก ์ค๋ช
๋ง ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์
๋๋ค. ๋ฐ๋ผ์ 10์ 30์ผ์ ๋ํ ๊ทํ(๋๋ dstuff์) ์๊ฒฌ์์ - ๊ทธ๊ฒ์: _2์
๋๋ค. "์ฌ๋ฐ๋ฅธ" ๊ธฐ๋ณธ๊ฐ์ผ๋ก UX๋ฅผ pip ์
๊ทธ๋ ์ด๋๋ก ์ด๋..._ (btw ์ ๋ ์ด๊ฒ์ ์ ํธํฉ๋๋ค)
๋๋ ๋น์ ์ด ์ด ์ฃผ์ ์ ๋ํด ๋ ๋ง์ด ์๊ฐํ๊ณ ์๋ค๊ณ ํ์ ํ๊ณ ๋ด๊ฐ ํ๋ ๋ ๋ฏธ๋ฌํ ์ผ์ ๋ณด๊ณ ์์ต๋๋ค. ๊ทธ๋ฌ๋ (๋ญ๊ฐ ๊ทธ๋ ๊ฒ ์๊ฐํ๋ค๋ฉด) ์์ง ์ด๋ ค ์๋ ๊ฒ์ ์ฐ์ญ์์ค. ๊ฐ๋ฐ์๊ฐ ์ฌ๊ธฐ์ ์์ ์ ๊ฒฐ์ ์ ๋ช
์์ ์ผ๋ก ์์ฑํ๊ณ ๊ฒฐ๊ตญ ์ด ๋ฌธ์ ๋ฅผ ์ข
๊ฒฐํ๋ ๊ฒ์ด ์ข์ ์ ์๋ค๋ ์๋ฏธ์๋ค๋ฉด ๋์ํฉ๋๋ค.
ใ ์ํฉ์ด ๋ค์๊ณผ ๊ฐ์ ๊ฒฝ์ฐ ํจ์ฌ ๋ ๋ฌธ์ ๊ฐ ๋ ์ ์์ต๋๋ค.
pip freeze > checkpoint.txt
pip checkout checkpoint.txt
"๊ฒ์ฌ์ "์ผ๋ก ๋๋๋ฆฌ๊ธฐ ์ค์น๋ฅผ ๋ณด์ฅํ ์ ์์ต๋๋ค. (pip install -r์ ํ์ฌ๋ก์๋ ์ข์ง ์์ต๋๋ค.) ์ด ์ ์์ ์ ํธ์ ์ถ๊ฐํ๋ ค๊ณ ์๊ฐํ์ง๋ง ์ ๋ง ์ ์ฉํ ์ ์์ ๊ฐ์ ธ์ค๋ ค๋ฉด ๋ ๋ง์ด ์ฐ๊ตฌํ๊ณ ๋ถ์ํด์ผ ํ ๊ฒ์ ๋๋ค. ์ฃผ์ ์ฌํญ์ด ๋ง๋ค๋ ๊ฒ์ ์์ง๋ง
pip checkout git+https://github.com/somebody_trusted/pip_distro4ubuntu<strong i="12">@bleeding_egde_branch</strong>
#or
pip checkout git+https://github.com/somebody_trusted/pip_distro4ubuntu<strong i="13">@stable</strong>
์์์ ์ค๋ช ํ pandas ๋ฐ statsmodels ๋ฌธ์ ์ ๊ฐ์ ๋ฌธ์ ๋ฅผ ( someone_trusted(๋๋ ๋ง์ ๋จ์ ํ ์คํธ๊ฐ ์๋ ์ปค๋ฎค๋ํฐ) ๋์์ผ๋ก) ํด๊ฒฐํ ์ ์๋ค๋ ์๋ฏธ์ ๋๋ค.
(์ด ์ฃผ์ ๋ฅผ ํ์ธํ๋ ๋ฐ ์ ์ฉํ ์ ๋ณด: https://pypi.python.org/pypi/peep)
@Liso77 ๊ฐ๋จํฉ๋๋ค. ์ด ๋ฌธ์ ์ ๋ํ ํ ๋ก ์ด ๋๋์ง ์์์ต๋๋ค. upgrade
๋ช
๋ น์ด ๊ตฌํ๋ ์ํ์์ ๋๊ธฐ ์ค์ธ PR์ด ์์ต๋๋ค(gh-3194). ํ์ง๋ง pip ๊ฐ๋ฐ์(์ ์ด๋ qwcode ๋ฐ @dstufft , ๊ทธ๋ฆฌ๊ณ ์๋ง๋ @xavfernandez ๋ฐ @pfmoore)๋ pip install
์ ๋์์ ๋ณ๊ฒฝํ๋ ค๊ณ ํฉ๋๋ค. ๊ทธ๋ ๊ฒ ๋๊ธฐ ์ ๊น์ง๋ ์๋ฌด ๊ฒ๋ ๋ฐ๋์ง ์์ ๊ฒ์
๋๋ค.
+1
๋ฐ๋ผ์ ์๋ก์ด ์ ๊ทธ๋ ์ด๋ ๋ช ๋ น์ ๋์ ํ๋ ๋ฐ ๋์ํ ๊ฒ์ผ๋ก ๋ณด์ด๋ฉฐ ๊ฐ์ฅ ์ต๊ทผ์ ๋ถ์์ ํ ๋ ผ์์ "์ ์คํจ" ๋ช ๋ น์ด ์์ด์ผ ํ๋์ง ์ฌ๋ถ์ ๋ง์ฝ ๊ทธ๋ ๋ค๋ฉด ์ด๋ค ์ฃผ ๋ช ๋ น(์ค์น ๋๋ ์ ๊ทธ๋ ์ด๋)์ด ์ด๋ฅผ ์ค์์น ๋๋ ๊ธฐ๋ณธ๊ฐ์ผ๋ก ๊ฐ์ ธ์์ผ ํ๋์ง์ ๋ํ ๊ฒ์ ๋๋ค. .
๋ด ๊ฐ์ธ์ ์ธ ์๊ฒฌ์ ๋์ง๋ฉด :
์ด๋ค ์ด์ ๋ก๋ ํ๊ฒฝ์ด ์ต์ ์ํ์ธ์ง ํ๋ก๊ทธ๋๋ฐ ๋ฐฉ์์ผ๋ก ํ์ธํ๋ ค๋ ๊ฒฝ์ฐ์๋ง ์ค์น๋ฅผ ์ํ ์์ ์ฅ์น ๋จ์ผ ๋ช
๋ น์ ์ฌ์ฉํ๋ ๊ฒ์ด "๊ทธ๋งํ ๊ฐ์น"๊ฐ ์๋ค๊ณ ์๊ฐํฉ๋๋ค. ์ "ํ๋ก๊ทธ๋๋ฐ ๋ฐฉ์์ผ๋ก"? ๊ทธ๊ฒ์ ๋ํํ์ด ์๋๊ธฐ ๋๋ฌธ์, ์ฆ ํจํค์ง๊ฐ ์ด๋ฏธ ์กด์ฌํ๊ฑฐ๋ ์กด์ฌํ์ง ์๊ธฐ ๋๋ฌธ์ ํ์ ๋๋ ์๋งค ๋ช
๋ น์ ๊ฐ๋ฆฌํค๋ ์ค๋ฅ, ๊ฒฝ๊ณ ๋๋ ๊ธฐํ ๋ฉ์์ง์ ๋ฐ์ํ ์ฌ์ฉ์๊ฐ ์์ต๋๋ค.
์ ํ์ ์ผ๋ก ์ฌ์ฉ์์๊ฒ ๋ถํํ๋ ๋์ ์
๊ทธ๋ ์ด๋ ๋๋ ์ค์น๋ฅผ ์ํ๋์ง ๋ฌป๋ ํ๋กฌํํธ๋ฅผ ์ถ๊ฐํ ์ ์์ต๋๋ค.
์ฆ, ์ด "์
์คํจ" ๋ช
๋ น์ ๋ ๋ช
๋ น(์ค์น/์
๊ทธ๋ ์ด๋)์ ๊ธฐ๋ณธ๊ฐ์ด ์๋๋ฏ๋ก ์ต์
์ ํธ์ถํด์ผ ํฉ๋๋ค. ์ด๊ฒ์ ์๋ฏธ์ ์ผ๋ก ๋ช
ํํ๊ฒ ์ ์๋ "์ค์น" ๋ฐ "์
๊ทธ๋ ์ด๋" ๋์ฌ์ ๋ช
ํ์ฑ์ ๋ํด์ฃผ๊ณ , ์ ์๊ฐ์๋ ์ด๋ค ์ค ํ๋์ ๊ธฐ๋ณธ์ ์ผ๋ก ์ค์นํ๋ ๋ชจ๋ ํจํค์ง ๊ด๋ฆฌ์๊ฐ ์๋ชปํ๊ณ ์์ต๋๋ค. ์กฐ์น๋ฅผ ์์ฒญํ๋ ๋ฉ์์ง( yum
ํ์๋จ)๋ ๊ด์ฐฎ์ต๋๋ค.
์ด๋ ๊ฒ ํ๋ฉด upgrade --install
( --install-missing
๋ณด๋ค ์งง์ ) ๋ฐ install --upgrade
๋จ์ต๋๋ค. ์๋ฏธ์ "์ต์ ์ผ๋ก ์
๊ทธ๋ ์ด๋[์กด์ฌํ์ง ์๋ ๊ฒฝ์ฐ ์ค์น]" ๋ฐ "์ต์ ์ค์น[๋๋ ์ด๋ฏธ ์กด์ฌํ๋ ๊ฒฝ์ฐ ์ต์ ์ผ๋ก ์
๊ทธ๋ ์ด๋]". ์ฌ๊ธฐ๊น์ง๋ ๋ณ๋ก ์ฐจ์ด๊ฐ ์์ต๋๋ค. install --upgrade
๋ ์ด๋ฏธ ์กด์ฌํ๋ ๋ฒ์ ์ด๋ฉฐ ์ธ์ํ ์ ์์ง๋ง ์ด์ ๋ฒ์ ๊ณผ ํธํ๋์ง ์์ต๋๋ค.
๋ค์์ ํผํฉ์ ๋ํ ๋ ๋ค๋ฅธ ๋ช
๋ น์
๋๋ค. install-upgrade
(๋๋ upstall
?)๋ผ๋ ์ด๋ฆ์ ์ ๋ช
๋ น, ์ฌ๊ธฐ์ ์ค์น๋ ์
๊ทธ๋ ์ด๋ ๋ชจ๋ "๋ค๋ฅธ ์์
๋ ์ํ"ํ๋ ์ต์
์ด ์์ง๋ง ์ ๋ช
๋ น์ ๋ค์๊ณผ ๊ฐ์ด ๋์
๋ฉ๋๋ค. ์ค์ํ ์์น์์ ์๋ฏธ๋ฅผ ๋ช
ํํ ํฉ๋๋ค: ๋ช
๋ น ์ด๋ฆ ์์ฒด. ์ด๊ฒ์ ๋ด ์ทจํฅ์ด ๋ ๊ฒ์
๋๋ค.
TL;DR : upgrade
๋ฐ upgrade-install
, install --upgrade
์ฌ์ฉ ์ค๋จ. ๋ช
ํํ ์๋ฏธ๋ฅผ ๊ฐ์ง ๋ชจ๋ ๊ธฐ๋ฅ.
ํจํค์ง๊ฐ ์ด๋ฏธ ์กด์ฌํ๊ฑฐ๋ ์กด์ฌํ์ง ์๊ธฐ ๋๋ฌธ์ ์์
์ด ์คํจํ๋ ๊ฒฝ์ฐ ๋ฉ์์ง๋ฅผ ์ถ๊ฐํ๊ฑฐ๋ ์ ํ์ ์ผ๋ก ๋ช
๋ น์ ์ค์น ๋ฐ ์
๊ทธ๋ ์ด๋ํ๋ผ๋ ๋ฉ์์ง๋ฅผ ํ์ํฉ๋๋ค.
์ค๋ ์์นจ์ ์๋์ผ๋ก ๋ค์ ํ์ต๋๋ค. ์ด ๊ธฐ๋ฅ ์์ฒญ์ ๋ํ ์์์ด ์์ต๋๊น?
+1
+1
+1
์ฌ๋ฌ๋ถ, OP์์ ์ข์์ ๋ฐ์์ ์ฌ์ฉํ๊ณ ๋ชจ๋ ์ฌ๋์ ๋ฐ์ํธ์งํจ ์คํธ์ ์ค์งํ์ธ์.
pip๋ Linux ๋ฐฐํฌํ๊ณผ ๋ค๋ฅธ QA ๋ชจ๋ธ์ ๊ฐ์ง๊ณ ์๊ธฐ ๋๋ฌธ์ ๋๋ ์๋นํ ํ์ ํฉ๋๋ค. ์์์ ์ ๊ทธ๋ ์ด๋ ๋ชจ๋ ๋ช ๋ น์ ์ ์ ์ค ํ์์ผ ๋ฟ์ ๋๋ค.
pypi์๋ ์ค์ ๋ก ํ์ธ ๋ฐ ํ
์คํธ๋ ํจํค์ง ๋ฒ์ ๋ฐ ํธํ์ฑ ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ์์ต๋๋ค.
๋ฐ๋ผ์ QA๊ฐ ์๋ ๋ฐฐํฌํ๊ณผ ๋ฌ๋ฆฌ pypi์๋ ์์ฒด QA๊ฐ ๊ฑฐ์ ์์ผ๋ฉฐ ์
๋ก๋๋ ํ๋ก์ ํธ(ํ์ง์ด ๋ค๋ฆ)์ ์ ์ ์ผ๋ก ์์กดํฉ๋๋ค.
ํ์ฌ์ ์ ์ฝ ์กฐ๊ฑด์ผ๋ก ๋๋ ๊ทธ๊ฒ์ด ์ถ๋ณต๋ณด๋ค ์ ์ฃผ์ ๊ฐ๊น๋ค๊ณ ํ์ ํฉ๋๋ค.
๊ทธ๋ฆฌ๊ณ ๋ฐฐํฌ๋ณธ์ด ์ ์ด๋ ๊ฒ ๊ตฌ์์ธ์ง ๊ถ๊ธํด ํ์๋ ๋ถ์ด ๊ณ์๋ค๋ฉด QA์๋ ์ค์ ์๊ฐ๊ณผ ๋
ธ๋ ฅ์ด ํ์ํฉ๋๋ค^^
์ฌ๋ฌ๋ถ, OP์์ ์ข์์ ๋ฐ์์ ์ฌ์ฉํ๊ณ ๋ชจ๋ ์ฌ๋์ ๋ฐ์ํธ์งํจ ์คํธ์ ์ค์งํ์ธ์.
์ฐ๋ฆฌ๋ ์ค์ ๋ก ์ฌ๋๋ค๋ก๋ถํฐ _์ด๋ค_ ์ข ๋ฅ์ "๋๋ ์ด๊ฒ์ ์ํ๋ค"๋ ์๋ต์ ํ์๋ก ํ์ง ์๋๋ค๋ ์ ์ ์ ์ํ์ญ์์ค. ์ฐ๋ฆฌ๋ ์ฌ๋๋ค์ด ์ด๊ฒ์ ์ํ๋ค๋ ๊ฒ์ ์๊ณ ์์ต๋๋ค. ๋ถ์กฑํ ๊ฒ์ ์ด๋ฏธ ์ ๊ธฐ๋ ๋ค์ํ ์ฐ๋ ค์ ๋ฌธ์ ๋ฅผ ๋ชจ๋ ์์ฉํ ์ ์๋ ์์ ํ๋ก๊ทธ๋จ์ ๊ธฐ๊บผ์ด ๊ฐ๋ฐํ๋ ค๋ ์ฌ๋์ด๋ฉฐ PR ๊ฒํ ์ค์ ํ์ฐ์ ์ผ๋ก ๋ํ๋ ๊ฒ์ ๋๋ค.
๋ฐ๋ผ์ ๊ฐ์ธ์ ์ผ๋ก ์ฌ๋๋ค์ด ์ต์ํ ๊ตฌํ์ ์์์ ์ ์ ๊ณตํ๋ ์์ ์ฝ๋๊ฐ ์๊ณ ๊ตฌํ๊น์ง ์ด๋ฅผ ๊ธฐ๊บผ์ด ๋ฐ๋ฅด์ง ์๋ ํ ์ด ๋ฌธ์ ์ ๋ํ ํ์ ์ผ๊ฐํด ์ฃผ์๋ฉด ๊ฐ์ฌํ๊ฒ ์ต๋๋ค.
๊ทธ๋ ์ง ์์ผ๋ฉด, ์ฐ๋ฆฌ๋ ์ฐ๋ฆฌ๊ฐ ํ ์ ์์ ๋ ๊ทธ๊ฒ์ ์ป์ ๊ฒ์ ๋๋ค. ์ ๋ ๊ฐ์ธ์ ์ผ๋ก ์ด ๋ฌธ์ ๋ฅผ ์ ๊ธฐ์ ์ผ๋ก ๋ค๋ฃจ๋ฉฐ ํต์ฌ pip ๊ฐ๋ฐ์์ด๋ฏ๋ก ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์๋ ์ถฉ๋ถํ ์๊ฐ์ด ์๋ค๋ฉด ๊ทธ๋ ๊ฒ ํ ๊ฒ์ด๋ผ๊ณ ์ฅ๋ดํ ์ ์์ต๋๋ค. ๊ทธ ์ฌ์ด์ "์ด๋ค ์ง์ ์ด ์์์ต๋๊น?" ๋๊ธ์ ๋ด๊ฐ ์ทจ๋ฏธ๋ก ์๊ฐ์ ๋ณด๋ด๋ ๋ฐฉ๋ฒ์ ์ง์ํ ๊ถ๋ฆฌ๋ฅผ ์๊ตฌํ๋ ์ฌ๋๋ค์ฒ๋ผ ๋๊ปด์ง๊ธฐ ๋๋ฌธ์ ๋จ์ํ ๋๋ฅผ ์์์ ์ผ๋ก ๋ง๋๋ ๊ฒฝํฅ์ด ์์ต๋๋ค.
๊ตฌํ์ ์์์
๊ทธ๊ฒ์ด https://github.com/pypa/pip/pull/3194 ์ ๋ชฉ์ ์ด๋ผ๊ณ ์๊ฐํ์ต๋๋ค https://github.com/pypa/pip/pull/3194 ์๋ก ๊ณ ์นจ์ด ํ์ํฉ๋๊น?
@friesel ๋น์ ์ "๊ทธ๋ฆฌ๊ณ ๊ทธ๊ฒ์ ๊ธฐ๊บผ์ด ๋ฐ๋ผ๊ฐ ์ํฅ์ด ์์ต๋๋ค"๋ฅผ ๋์ณค์ต๋๋ค. ๊ทธ PR์ ํ ์ฌ๋์ด ์๊ฐ์ด ๋ถ์กฑํ๊ฑฐ๋ ๊ด์ฌ์ด ์์ด ๋ณด์ ๋๋ค(๊ณตํต ๋ฌธ์ ). ๊ทธ ๋ค์ ๋จ๊ณ๋ ์๋ง๋ OP๋ PR์ ์์ ๊ถ์ ์ธ์ํ๋ ค๋ ๋ค๋ฅธ ๋๊ตฐ๊ฐ๊ฐ ํ์ฌ ์์น์ ๋ํ PEP ์คํ์ผ ์์ฝ์ ์์ฑํ๋ ๊ฒ์ ๋๋ค. ์ด๋ฌํ ๋ค์ํ ๋ฌธ์ ์ ๋ํ ํด๊ฒฐ ๋ฐ ํ ๋ก ์ ๋ค์ ์์ํ๊ธฐ ์ํ ์๊ฒฌ ์์ฒญ. ํ ๋ก ์ด github์ ๋ํด ๋๋ฌด ํฐ ๊ฒฝ์ฐ ๋ ๋ง์ ์ ๋ ฅ์ ์ํด ๋ฌธ์๋ฅผ distutils-sig๋ก ๊ฐ์ ธ์์ผ ํ ์๋ ์์ต๋๋ค. ๊ทธ๊ฐ ๋ค์ํ ๋ฌธ์ ์ ๋ํด ๋ง์กฑํ๋ ํด๊ฒฐ์ฑ ์ ๊ฒฐ์ ํ ์ ์๊ฑฐ๋ ํ ๋ก ์์ ํฉ์๋ฅผ ์ป์ ์ ์๋ค๋ฉด ์, #3194๋ ์๋ง๋ ์ฃฝ์์ ๊ฒ์ ๋๋ค(๋ค๋ฅธ ์ฌ๋์ด ๋ฌธ์ ๋ฅผ ๋ค์ ์ง์ด๋ค ๋๊น์ง, ์ด ์์ ์์ ์ ๋ ๊ทธ๋ค์ด ์ํํ ๋ชจ๋ ์์ ์ ์ PR์ ํตํฉํ๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.
์ด์ ๊ฐ์ ์ ์์ ๋ํ ์์ ์ 50% ์ด์์ด "๊ด๋ฆฌ"(์ ์ ๋ฌธ์ํ, ํ ๋ก ๊ด๋ฆฌ, ํฉ์ ๋์ถ)์ ๋๋ค. ์ฌ๋๋ค์ด ์ข์ํ๋ ๋ถ๋ถ์ ์๋์ง๋ง pip๋งํผ ๋๋ฆฌ ์ฌ์ฉ๋๋ ์ฝ๋๋ฒ ์ด์ค์์๋ ํ์์ ์ธ ๋ถ๋ถ์ ๋๋ค. (๊ทธ๋ฆฌ๊ณ ๋ค, ๊ทธ๊ฒ ๋ฌธ์ ์ ๋๋ค. "์ ๋ ํ๋ก์ ํธ ๊ด๋ฆฌ๋ฅผ ์ทจ๋ฏธ๋ก ํฉ๋๋ค"๋ณด๋ค "์ทจ๋ฏธ๋ก ์ฝ๋๋ฅผ ์์ฑํฉ๋๋ค"๋ผ๊ณ ๋งํ๋ ๊ฒ์ด ํจ์ฌ ์ข์ต๋๋ค :-))
@pfmoore ์ ์ ์ผ๋ก ๋์ํฉ๋๋ค.
์๋
์ ๊ฑธ์ณ ์ด ๋ฌธ์ ์ ๊ด๋ จ๋ ์ ์์ ์์ ํ ๋ก ์ ์์ด ์ฌ๋ฌ ์์น์ ํผ์ ธ ์๊ธฐ ๋๋ฌธ์ ์ด ๋ฌธ์ ์ ์ ๊ทผ ํ๊ณ ๋จ๊ธฐ๊ฐ์ ๋ช
ํํ ๊ทธ๋ฆผ
@RonnyPfannschmidt
pypi์๋ ํจํค์ง ๋ฒ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ์์ต๋๋ค.
์ฌ์ค์ด์ผ ์ด๊ฒ์ (setup.py์) ๋ฐํ์์ ํจํค์ง์์ ์ ๊ณตํ๋ ์ ๋ณด์ด๋ฉฐ ์ข ์์ฑ์ ํด๊ฒฐํ๋ ํ๋ก์ธ์ค์ ์ฝ๊ฐ ๋ ๋ณต์กํจ์ ์ถ๊ฐํฉ๋๋ค. ๊ฒ๋ค๊ฐ, ํ์ฌ ๋ก์ง์ด ์ด๋ป๊ฒ ์๋ํ๋์ง๋ก ์ธํด, ์ผ๋ถ ํจํค์ง(scipy์ ๊ฐ์ ๋์ ๋๋ ํจํค์ง๋ผ๋)๋ ๋ถํ์ํ๊ฒ ๋ค์ ์ปดํ์ผํ๋ ๊ฒ์ ๋ฐฉ์งํ๊ธฐ ์ํด ์ค์น๋ ๊ฒฝ์ฐ ์ข ์์ฑ(์: numpy)์ ๋์ดํ์ง ์์ต๋๋ค.
๊ทธ๊ฒ์ ๋ฌด์๋ณด๋ค๋ PEP 426์ ์ํด ํด๊ฒฐ๋ ๊ฒ์ด์ง๋ง ๊ทธ PEP์ ์ํ๊ฐ ๋ฌด์์ธ์ง ๋ชจ๋ฅด๊ฒ ์ต๋๋ค.
@pf๋ฌด์ด
์ฐ๋ฆฌ๋ ์ค์ ๋ก ์ฌ๋๋ค๋ก๋ถํฐ "๋๋ ์ด๊ฒ์ ์ํ๋ค"๋ ์ด๋ค ์ข ๋ฅ์ ์๋ต๋ ํ์๋ก ํ์ง ์์ต๋๋ค.
+1์ด๋ผ๊ณ ๋งํ๊ฑฐ๋ ์์ง์๊ฐ๋ฝ์ ์น์ผ๋ค๊ณ ์ด๋ฐ ์ผ์ด ์ผ์ด๋๊ธฐ๋ฅผ ๋ฐ๋ผ๋ ๋ง์์ ํ์ํ๊ณ ์ถ์ ๋ฟ์ ๋๋ค. ๊ทธ๊ฒ์ ๊ทธ ์ฌ๋์ด ์ด ๋ฌธ์ ์ ์ฝ๊ฐ์ ๊ฒ์ ์ถ๊ฐํ๊ณ ๊ธฐ์ฌํ ๊ฒ์ฒ๋ผ ๋๋ผ๊ฒ ํฉ๋๋ค. ๋๋ pip ๊ฐ๋ฐ์์๊ฒ ๋๊ธฐ๋ฅผ ๋ถ์ฌํ๊ฑฐ๋ ์ค๋ํด์ผ ํ๋ค๊ณ ๋งํ๋ ๊ฒ์ด ์๋๋ผ ๋ชจ๋๊ฐ ๊ทธ๋ ๊ฒ ๋งํ๊ณ ์ถ์ดํ๋ค๋ ๊ฒ์ ๋๋ค. ๊ทธ๋ฆฌ๊ณ ...
์ฌ๋๋ค์ด ์๋ํ๋ ์ฝ๋๊ฐ ์๋ ํ ์ด ๋ฌธ์ ์ ๋ํด ํ(ping)์ ์ผ๊ฐํด ์ฃผ์๋ฉด ๊ฐ์ฌํ๊ฒ ์ต๋๋ค.
์์ง์๊ฐ๋ฝ์ ์น์ผ๋ ๋ค๊ณ ํด์ ๋๊ตฌ์๊ฒ๋ (์ฑ๊ฐ์ ) ์๋ฆผ/์ด๋ฉ์ผ์ ์ฃผ์ง๋ ์์ ๊ฒ์ด๋ฉฐ ์ฌ์ ํ ๊ด์ฌ์ ๋ณด์ธ ์ฌ๋๋ค์ ์๋ฅผ ๋ณผ ์ ์์ต๋๋ค. ์๋ฌด๋ ์ ๊ฒฝ์ฐ์ง ์์๋ ๋๋ค๊ณ ์๊ฐํ์ง๋ง ๋ด๊ฐ ํ๋ฆด ์ ์์ต๋๋ค.
์์ง์๊ฐ๋ฝ์ ์น์ผ๋ ๋ค๊ณ ํด์ ๋๊ตฌ์๊ฒ๋ (์ฑ๊ฐ์ ) ์๋ฆผ/์ด๋ฉ์ผ์ ์ฃผ์ง๋ ์์ ๊ฒ์ด๋ฉฐ ์ฌ์ ํ ๊ด์ฌ์ ๋ณด์ธ ์ฌ๋๋ค์ ์๋ฅผ ๋ณผ ์ ์์ต๋๋ค. ์๋ฌด๋ ์ ๊ฒฝ์ฐ์ง ์์๋ ๋๋ค๊ณ ์๊ฐํ์ง๋ง ๋ด๊ฐ ํ๋ฆด ์ ์์ต๋๋ค.
์, ๊ทธ๋ ๊ฒ ํ๋ฉด ์๋ฆผ์ ํผํ ์ ์๋ค๋ ๊ฒ์ ๊นจ๋ซ์ง ๋ชปํ์ต๋๋ค. ์, ์ข์ ์๊ฐ์ ๋๋ค.
๊ทธ ๋ค์ ๋จ๊ณ๋ ์๋ง๋ OP๋ PR์ ์์ ๊ถ์ ์ธ์ํ๋ ค๋ ๋ค๋ฅธ ๋๊ตฐ๊ฐ๊ฐ ํ์ฌ ์์น์ ๋ํ PEP ์คํ์ผ ์์ฝ์ ์์ฑํ๋ ๊ฒ์ ๋๋ค. ์ด๋ฌํ ๋ค์ํ ๋ฌธ์ ์ ๋ํ ํด๊ฒฐ ๋ฐ ํ ๋ก ์ ๋ค์ ์์ํ๊ธฐ ์ํ ์๊ฒฌ ์์ฒญ.
๊ทธ๋งํ ๊ฐ์น๊ฐ ์๊ธฐ ๋๋ฌธ์ ์ด์ ์ ์ด๊ฒ๊ณผ ์ข
์์ฑ ํด๊ฒฐ, PEP ์คํ์ผ์ ๋ํ ๊ธ์ ์์ฑํ์ต๋๋ค. ๋๋ ๊ทธ๊ฒ์ ์ชผ๊ฐ์ด ์ง๊ธ ์
๋ฐ์ดํธํ๊ณ ์ง๋ ๋ช ๋ฌ ๋์ ์ ์๋ ๋ชจ๋ ๊ฒ์ ์ถ๊ฐํ ๊ฒ์
๋๋ค. ์
๊ทธ๋ ์ด๋ ๋ช
๋ น์ ์ํ ๋ช
๋ น์ ์๋ฃ๋๋ฉด (~2์ผ?) Gist๋ก ๊ฒ์ํ๊ณ ์ฌ๊ธฐ์์ ๋งํฌํฉ๋๋ค.
์ ๋ ์์ง PR ์์ ๊ถ์ ์ธ์ํ ์์ฌ๊ฐ ์์ต๋๋ค. ๋
ผ์๋ฅผ ๋ค์ ์์ํ๊ณ ๊ตฌํํ ์ ์๋ ์ต์ข
๋์์ธ์ ๋๋ฌํ๋ ๋ฐ ๋์์ ์ฃผ๊ณ ์ถ์ต๋๋ค. ๋ด ์ฃผ๋ณ์ ์ด๋ค ์ผ์ด ๊ณํ๋๋ก ๋๋ค๋ฉด, ๋๋ ์ด๊ฒ์ ๋ฐ๋ผ ๊ตฌํ๊น์ง ํ ์ ์์ด์ผ ํ์ง๋ง ์์ง๊น์ง๋ ์ด๊ฒ์ ๋ฐ๋ผํ๊ณ ์ถ์ง ์์ต๋๋ค.
/cc @qwcode @dstufft @pfmoore @xavfernandez
๋ด ๊ธ์ ๋ํ ๋งํฌ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. https://gist.github.com/pradyunsg/a5abeac4af90fbdc54bb266c32c0d2d8
์ฒ์์๋ ๋ ์๊ฐ ์ฐธ์กฐํ ์ ์๋๋ก ๋ค์ํ ์์น(~30๊ฐ ๋งํฌ)์ ์ฐ๊ฒฐํ๊ณ ๋ชจ๋ ์ฃผ์ ์ค๋ ๋์ ๋ง๊ฒ ๋ณต์ฌํ ๋ค์ ํธ์งํ๋ ค๊ณ ํ์ต๋๋ค. ๋ฌธ์๊ฐ ๊ฝค ๊ธธ์ด์ ๋ด ์๊ฒฌ์ด ์ค์ณ์ง๋๊ฐ์ต๋๋ค. ๊ฒฐ๊ตญ ์ฒ์๋ถํฐ ์์ํ์ต๋๋ค. ์ง๊ธ์ ๋ ์งง๊ณ ์๊ฒฌ์ด ์์ต๋๋ค. ๊ทธ๋๋ WIP๋ก ํ์ํ์ต๋๋ค.
๋ฌธ์ ๊ฐ ์์ผ๋ฉด Gist์ ๋๊ธ์ ๋จ๊ฒจ์ฃผ์ธ์. ์ต๋ํ ๋นจ๋ฆฌ ์์ ํ๊ฒ ์ต๋๋ค.
๊ฒฝ๊ณ : _SLIGHTLY_ ์์ ๊ธด ์ค๋ช ์ด ์์ต๋๋ค.
๊ธฐ์กด --upgrade
๋์์ ์์ ํ๋ ์์ด๋์ด๊ฐ ์ข์ต๋๋ค. ์ด์ ๋ฒ์ ๊ณผ์ ํธํ์ฑ ์ธ์ ์ด์ ๋ํ ์ฐ๋ ค ์ฌํญ์ด ์์ต๋๊น? upgrade
๋ช
๋ น์ ์ถ๊ฐํ๋ ๊ฒ์ ์ค์น์ ์
๊ทธ๋ ์ด๋๊ฐ ๋ง์ด ๊ฒน์น๊ธฐ ๋๋ฌธ์ ์ข์ ์๊ฐ์ด ์๋ ๊ฒ ๊ฐ์ต๋๋ค.
FWIW, git์ 2014๋
git push
๊ธฐ๋ณธ ๋์์ ๋ณ๊ฒฝํ --upgrade
์ ๋ํด ๋
ผ์ํ ๊ฒ๊ณผ ์ ์ฌํ ์์
์ ์ํํ์ต๋๋ค. link
pip install --upgrade
์ ๋์์ ๋ณ๊ฒฝํ๋ ๋ฐ ๊ด์ฌ์ด ์๋ ๊ฒฝ์ฐ ํด๋น ํ ๋ก ์ ๋ํ ์๋ ์ ์(P1 ์ฐธ์กฐ)์ด ์์ต๋๋ค.
pip install --upgrade
๋ ๊ฒฝ๊ณ ๋ฅผ ์ถ๋ ฅํฉ๋๋ค.```
PipDeprecationWarning: pip๋ ์ข
์์ฑ์ ์ต์ ๋ฒ์ ์ผ๋ก ์
๊ทธ๋ ์ด๋ํ๋ ๊ฒ์ ์ค์งํฉ๋๋ค.
๋ฒ์ 11.0๋ถํฐ ๊ธฐ๋ณธ์ ์ผ๋ก ๋ฌด์กฐ๊ฑด ๋ฒ์ ์
๋๋ค.
๊ธฐ๋ณธ ๋์์ด ๋ณ๊ฒฝ๋ ํ ํ์ฌ ๋์์ ์ ์งํ๋ ค๋ฉด
์ค์น ๋ช
๋ น์ --upgrade-strategy eager
ํฉ๋๋ค.
์ ๋์์ ์ฆ์ ์ฌ์ฉํ๊ธฐ ์์ํ๋ ค๋ฉด install ๋ช
๋ น์
--upgrade-strategy non-eager
ํต๊ณผ .
์ด ๋ฉ์์ง๋ฅผ ๋๋ ค๋ฉด
์์ธํ ๋ด์ฉ์ ๋ค์์ ์ฐธ์กฐํ์ธ์.
```
๋งํฌ๋ ๋ฌธ์ ํ์ด์ง๋ ๋ณ๊ฒฝ ์ฌํญ๊ณผ ๊ทธ ํจ๊ณผ์ ๋ํ ๊ฐ๋ตํ ๊ฐ์๋ฅผ ์ ๊ณตํฉ๋๋ค. ๊ทธ๋ฐ ๋ค์ ๊ฐ์ฅ ์ผ๋ฐ์ ์ธ ์ง๋ฌธ์ธ "๋๋ ๋ฌด์์ ํด์ผ ํฉ๋๊น?"๋ฅผ ๋ค๋ฃฐ ๊ฒ์ ๋๋ค. ๋ฐ "์ด๋ค ์ ๊ทธ๋ ์ด๋ ์ ๋ต์ ์ฌ์ฉํด์ผ ํฉ๋๊น?" ๊ฐ์ฅ ์ง์ ์ ์ธ ๋ฐฉ๋ฒ์ผ๋ก ํฉ๋ฆฌ์ ์ ๋๋ค.
--upgrade-eager
๋ฐ --upgrade-non-eager
๋ฑ์ผ ์๋ ์์ต๋๋ค. ๊ทธ๊ฒ์ ์์ ๊ฑฐ ์ด๋, ์ฆ ๋ง์ง๋ง ๋จ๊ณ์
๋๋ค.pip install --upgrade
์ข
์์ฑ์ ์
๊ทธ๋ ์ด๋ํ ๋ ๋์์ ๋น์ด์ฌ์ผ๋ก ์ ํํฉ๋๋ค.ํธ์ง: ์ ๋ ์ฌ๋๋ค์ด ์ ํํ ์๊ฐ์ ๋ ๋ง์ด ์ฃผ๊ธฐ ์ํด ๋ณ๊ฒฝ ์ฌํญ์ ๋ํด 3๊ฐ์ ์ฃผ์ ๋ฒ์ ์ฃผ๊ธฐ๋ฅผ ๋ฃ์์ต๋๋ค. ๋ถํ์ํ ์๋ ์์ต๋๋ค. ์๋ง๋ 1๊ฐ์ ์ฃผ์ ๋ฒ์ ์ด ๊ฒฝ๊ณ ๋ฅผ ์ธ์ํ๊ณ ๋ค์์ผ๋ก ๋ณ๊ฒฝํ๋ ๊ฒ์ผ๋ก ์ถฉ๋ถํฉ๋๊น?
@dstufft ๋ ๋น์ทํ (๊ฐ์?) ์์ด๋์ด๋ฅผ ์๊ฐํด ๋์ต๋๋ค.
์ ๊ทธ๋ ์ด๋ ๋ช ๋ น์ด ์์ผ๋ก ๋์๊ฐ ๊ธธ์ด๋ผ๋ฉด ๋ค์์ ํด๋น ํ ๋ก ์ ๋ค์ ์์ํ๊ธฐ ์ํ ์๋ ์ ์์ ๋๋ค(์ํ๋ ๊ฒฝ์ฐ ์ด๋ฅผ P2๋ก ์ฐธ์กฐ).
pip upgrade
๋ pip install
๋๋ถ๋ถ์ ์ต์
๊ณผ ๋์์ ๋ณต์ฌํฉ๋๋ค.--dry-run
ํ๋๊ทธ๊ฐ install
๋ฐ upgrade
๋ช
๋ น์ ์ถ๊ฐ๋์ด ์ค์ ๋ก ์คํ๋๋ ๊ฒฝ์ฐ pip๊ฐ ์๋ํ ๋ด์ฉ์ ์ธ์ํฉ๋๋ค.pip install <out_of_date_pkg>
๋ ๋์์ ๋ณ๊ฒฝํ์ง ์์ต๋๋ค.pip upgrade <not_installed_pkg>
๋ ์คํจํฉ๋๋ค.pip upgrade <up_to_date_pkg>
๋ ์๋ฌด ๊ฒ๋ ํ์ง ์๊ณ ์ ์๋ฌด ๊ฒ๋ ํ์ง ์๊ณ ์ข
๋ฃ ์ฝ๋๊ฐ 0์ธ ์ํ๋ก ์ข
๋ฃ๋ฉ๋๋ค.pip upgrade <out_of_date_pkg>
๋ non-eager ์ฌ๊ท ์
๊ทธ๋ ์ด๋๋ฅผ ์ํํฉ๋๋ค.pip upgrade --eager package
์ ์ค๋์ pip install --upgrade
์ฒ๋ผ ์๋ํฉ๋๋ค.pip install --upgrade
๋ RemovedInPip10Warning
์ธ์ํฉ๋๋ค.๋ํ ๋ค์ ์ฌํญ์ ๋ํด ์ด๋ป๊ฒ ์๊ฐํ์ญ๋๊น?
pip install <pkg>
OS ํจํค์ง ๊ด๋ฆฌ์์ ์ค์น ieupstall์ฒ๋ผ ์๋ํ๋๋ก ํ์๊ฒ ์ต๋๊น?--only-binary
๊ฐ ์์ต๋๊น?--only-source
์ --no-source
๋ฅผ ์ถ๊ฐํ์๋ฉด ์ด๋จ๊น์?upgrade-all
๋ํ ์๊ตฌ ์ฌํญ์
๋๋ค.๋๋ ๊ทธ๊ฒ์ ๋ํด ๊ฐํ๊ฒ ๋๋ผ์ง ์๊ธฐ ๋๋ฌธ์ "์ ์คํจ๋ก ์ค์น"์ ๋ํด ์๋ฌด ๊ฒ๋ ์ ์ํ์ง ์์์ต๋๋ค. OS ์์ค ํจํค์ง ๊ด๋ฆฌ์์ ์ผ์นํ์ง๋ง ์ฃผ์ ๋ณ๊ฒฝ ์ฌํญ์ด ๋ ๊ฒ์ ๋๋ค. ์ผ๋ง๋ ์ ์ฉํ ์ง ๋๋ ์ ํํ ๋์๊ณผ ์ธํฐํ์ด์ค๊ฐ ์ด๋ค ๊ฒ์ธ์ง ์ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค...
์ด ์์ ์๋ ๊ฒ์ด ๋์์ด ๋ ์ ์์ต๋๋ค.
๊ฐ์ธ์ ์ผ๋ก ๋๋ ๋ช๋ช ์ฌ๋๋ค์ด ๋ง์กฑํ๋ ํ๋์ ์ผ๊ด๋๊ฒ ์ ์งํ๋ ๋ฐ ๋ง์ ๊ฐ์น๋ฅผ ๋ณด์ง ์์ต๋๋ค. Python 2์ฉ(์์ ์ฑ ์์ฉ)๊ณผ Python 3(๋ณํ ์์ฉ)์ฉ์ด ๋ ์ข์์ง ๋์ ์ง ๊ถ๊ธํฉ๋๋ค.
@ekevoo
Python 2์ฉ(์์ ์ฑ ์์ฉ)๊ณผ Python 3(๋ณํ ์์ฉ)์ฉ์ด ๋ ์ข์์ง ๋์ ์ง ๊ถ๊ธํฉ๋๋ค.
ํ๋, ๊ทธ๊ฑด ์ฃผ์ ์์ ๋ฒ์ด๋ฌ์ต๋๋ค. ๋์งธ, ๊ทธ๋ ๊ฒ ํ๋ฉด ๊ฒฐ๊ตญ ๋ฐ์ฐ์ด ์๊ธด๋ค. ๊ทธ๊ฒ์ ํ์ฌ Python 2๋ฅผ ์ฌ์ฉํ๋ ์ฌ๋๋ค์ ์์ธ์ํฌ ๊ฒ์
๋๋ค. ์๋ํ๋ฉด ์ธ์ ๊ฐ๋ EOL์ ๋๋ฌํ๊ณ ๊ทธ๋ค์ Python 3์ผ๋ก ์ ํํด์ผ ํ๊ณ ๋ค๋ฅด๊ฒ ์๋ํ๋ ๋๊ตฌ์ ์ ์ํด์ผ ํ๊ธฐ ๋๋ฌธ์
๋๋ค. ๋ฐ๋ผ์ pip
๋ ๋ฐ์ฐํ์ง ์์์ผ ํฉ๋๋ค(IMO์์๋ ๊ทธ๋ฌํ์ง ์์ต๋๋ค). ๊ทธ๋ฐ ๋ค์ ๋จ์ผ ๋๊ตฌ์ ํจ๊ป ๋ณด๊ดํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
OTOH, ์ด์ ๋ฒ์ ๊ณผ์ ํธํ์ฑ์ด ์ผ๋ง๋ ํ์ฉ๋๋์ง์ ๋ํด ์ด๋ป๊ฒ ์๊ฐํ๋์ง ์ ์ ์์ต๋๋ค...
pip 9์ ๊ฒฝ๊ณ ์ pip install --upgrade
, --eager/non-eager
(๋๋ ๋ค๋ฅธ ์ด๋ฆ)์ ๋์์ ์กฐ์ ํ๋ ์ถ๊ฐ ์ต์
์ด ๋์๊ฒ ๊ด์ฐฎ์ ๋ณด์
๋๋ค.
์ถฉ๋. ๋ชจ๋๋ฅผ ์ํ ๋ ๋ค๋ฅธ ์๋ฆผ.
@pfmoore @dstufft @qwcode ์ฝ๋ฅผ ๋ง๊ณ ์ถ์ง๋ง ์ฃผ๋ง์ด๋ ๋ค์ ์ฃผ์ ์๊ฐ์ ๋ด์ฃผ์๊ฒ ์ต๋๊น?
์ข์, ๋ด ์๊ฒฌ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
๋ค์ ๋ ๊ฐ์ง ๋ฐฉ๋ฒ์ผ๋ก ์์ผ๋ก, ๋๋ ์๊ฒฌ์ด ์์ต๋๋ค. ์ด๋ ๊ฒ์ด ๋ ๋์ ์ต์ ์ด๋ผ๊ณ ์๊ฐ๋๋ ๊ฒ์ ์ ํํ๊ณ ๊ตฌํํ์ญ์์ค. ๊ทธ๋ฌ๋ฉด ์ด๋ป๊ฒ ์งํ๋๋์ง ์ดํด๋ณด๊ฒ ์ต๋๋ค.
์ถ๊ฐ ์ง๋ฌธ์ ๋ค์:
--only-binary
๊ฐ ์๋๋๋ค. ๋ด ๊ฐ์ธ์ ์ธ ์ฌ์ฉ์ ์ํด, ๋๋ ์๋ง๋ ์ฒซ ๋ฒ์งธ ์ธ์คํด์ค์์ ํญ์ pip upgrade --only-binary
๋ฅผ ์ํ ๊ฒ์ด์ง๋ง, ๋๋ ๊ทธ๊ฒ์ ๋ช
์์ ์ผ๋ก _์ํฉ๋๋ค_.install --upgrade
๋ upgrade
์ ๊ธฐ๋ณธ ์ง๋ฌธ์ ์ํฅ์ ์ฃผ์ง ์์ต๋๊น? ๋๋ ๊ทธ ์ง๋ฌธ์ ๋ํ ํด๊ฒฐ์ฑ
์ด ์์๋ ๊ฒ์ ๊ธฐ์ตํ์ง ๋ชปํฉ๋๋ค. ๊ทธ๋์ ๋น์ ์ด ์ด๊ฒ์ ๋ํ "๊ฐ๋จํ" ๋๋ต์ ๊ธฐ๋ํ๋ค๋ ๊ฒ์ ์ฝ๊ฐ ๋๋์ต๋๋ค. ๋๋ ํ์คํ ์ข์ ๋๋ต์ ๊ฐ์ง๊ณ ์์ง ์์ต๋๋ค.(์ฐธ๊ณ ๋ก ์ ๊ฐ ์์ง๋ฅผ ์ ๋ชป๋ด์ ์์ฝ๊ธ์ ์๋ ๋ด์ฉ์ด ์์ผ๋ฉด ๋์ณค๋ค์ ์ฃ์กํฉ๋๋ค.)
PR์ ์์ฑํ๋ ๊ฒ์ด ํ๋ ์ผ์ด๊ณ ํ ๋ก ๊ณผ ์ง๋ฌธ์ ์ฝ๋งค์ด๋ ๊ฒ ๊ฐ์ ์์์ ์๋๋ค๋ ๊ฒ๋ ์์ง๋ง, ๊ฒฐ๊ตญ ๋๊ตฐ๊ฐ๊ฐ ํ๋๋ฅผ ์์ฑํ๊ณ ๊ฑฐ๊ธฐ์ "์ด๊ฒ์ด ํด๊ฒฐ์ฑ ์ด๋ค. ์ ์ํฉ๋๋ค - ์๊ฒฌ์ด ์์ต๋๊น?"
์ฐ๋ฆฌ๋ [์น๋] ์๋ง ํญ์ ํ ๊ฒ์ ๋๋ค ์ค์น ํ์์์ ์ ๊ทธ๋ ์ด๋ ๋ค๋ฅธํด์๋ ์
pip upgrade --only-binary
์ฒซ ๋ฒ์งธ ์ธ์คํด์ค์์,ํ์ง๋ง ๋ ๊ทธ๊ฒ์ ๋ช ์๋๊ณ ์ถ์ด์.
ํญ์ ๋ฌด์ธ๊ฐ๋ฅผ ์ํ ๊ฒฝ์ฐ ๊ธฐ๋ณธ๊ฐ 1 ์ด์ด์ผ ํฉ๋๋ค. ๊ทธ๋ฌ๋ install
๋ฐ ๊ฐ๋ฅํ upgrade
๋ช
๋ น ๊ฐ์ ์ผ๊ด์ฑ์ ์ ์งํ๋ ๊ฒ์ด ์ข์ ์๊ฐ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค.
์ ๋ฐ์ดํธ๋ฅผ "๋ณด๋ฅ"ํ๋ค๋ ๊ฒ์ด ๋ฌด์์ ์๋ฏธํ๋์ง ์ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค.
๋ชจ๋ ์ ๊ทธ๋ ์ด๋ ๊ธฐ๋ฅ์ ์ถ๊ฐํ๋ ๊ฒ์ ๋ํด ์ด์ผ๊ธฐํ ๋๊น์ง ์ด ์์ ์ ์ ์ ์ค๋จํ๊ฒ ์ต๋๋ค.
์๊ธฐ ์ฐธ๊ณ ์ฌํญ: apt-mark
pip ๊ฐ๋
๋๋ ๋ช ๋ น์ ๋ํ์์ผ๋ก ๋ง๋๋ ๋ฐ -1์ ๋๋ค. ์ฌ์ฉ์๊ฐ ๊ฒฐ์ ํด์ผ ํ๋ ํน์ ๋ฌธ์ ๊ฐ ์๋ ํ
๊ฐ๊ฒ.
์ด ๊ธฐ๋ฅ์ ๋ํ ๋ค์ํ ๋ ผ์์์ ๊ทธ๊ฒ์ด ์ฃผ์ ํ ๋ก ์ฃผ์ ๊ฐ ์๋๋๊น?
์ ํํ ์ ์ฌ๋ฌ๋ถ์ ์๊ฐ์ ์๊ณ ์ถ์์ต๋๋ค.
๋๋ ๊ทธ ์ง๋ฌธ์ ๋ํ ํด๊ฒฐ์ฑ ์ด ์์๋ ๊ฒ์ ๊ธฐ์ตํ์ง ๋ชปํฉ๋๋ค. ๊ทธ๋์ ๋น์ ์ด ์ด๊ฒ์ ๋ํ "๊ฐ๋จํ" ๋๋ต์ ๊ธฐ๋ํ๋ค๋ ๊ฒ์ ์ฝ๊ฐ ๋๋์ต๋๋ค.
๋๋ ์์ง "๋จ์ํ" ๋๋ต์ ๊ธฐ๋ํ์ง ์์ต๋๋ค. ํ ๋ก ์ ํตํด ํ๋์, ๊ฐ๊ธ์ ์ด๋ฉด ๊ฐ๋จํ ๋ต์ ๋๋ฌํ๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.
๊ทธ๋์ ๋ ์ ๊ฐ ์์ง๋ฅผ ์ ๋ชป๋ด์ ์์ฝ๊ธ์ ์๋ ๋ด์ฉ์ด ์์ผ๋ฉด ๋์ณค๋ค์ ์ฃ์กํฉ๋๋ค
์์ฝ ๊ทธ ์ด์์ ๊ธ์ ๋ํ ํ์ ์กฐ์น์ ๋๋ค. ๊ฐ๋ฅํ ํ ๋นจ๋ฆฌ ์ฝ์ผ์ญ์์ค.
์ด๋ ๊ฒ์ด ๋ ๋์ ์ต์ ์ด๋ผ๊ณ ์๊ฐ๋๋ ๊ฒ์ ์ ํํ๊ณ ๊ตฌํํ์ญ์์ค. ๊ทธ๋ฌ๋ฉด ์ด๋ป๊ฒ ์งํ๋๋์ง ์ดํด๋ณด๊ฒ ์ต๋๋ค.
[ํ์กฐ๊ฐ]
๋๊ตฐ๊ฐ๊ฐ [PR]์ ์์ฑํ๊ณ "์ด๊ฒ์ด ๋ด๊ฐ ์ ์ํ๋ ์๋ฃจ์ ์ ๋๋ค. ์๊ฒฌ์ด ์์ต๋๊น?"๋ผ๊ณ ๊ฒ์ํด์ผ ํ๋ค๊ณ ์๊ฐํฉ๋๋ค.
"๋จผ์ ์ํ๋ ๊ฒ์ด ๋ฌด์์ธ์ง ์ ํํ ํ์ ํ์"๋ ์๊ฐ์ ํ๊ณ ์คํ์ ์ฎ๊ฒผ์ต๋๋ค.
1 ๋ค๋ฅธ ์ฌ๋์ ์ธ๊ณ๋ฅผ ๋ถ์์ง ์๋ ํ
์ฐ๋ฆฌ๋ ์ค์น์ ๋ค๋ฅธ ์ ๊ทธ๋ ์ด๋๋ฅผ ํด์๋ ์ ๋ฉ๋๋ค.
ํญ์ ์ํ๋ ๊ฒ์ด ์๋ค๋ฉด ๊ธฐ๋ณธ๊ฐ์ด์ด์ผ ํฉ๋๋ค. ๊ทธ๋ฌ๋ ์ค์น ๋ฐ ๊ฐ๋ฅํ ์ ๊ทธ๋ ์ด๋ ๋ช ๋ น ๊ฐ์ ์ผ๊ด์ฑ์ ์ ์งํ๋ ๊ฒ์ ์ข์ ์๊ฐ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค.
_๋ชจ๋ ์ฌ๋_์ด ํญ์ ๋ฌด์ธ๊ฐ๋ฅผ ์ํ ๊ฒฝ์ฐ, (์ด์ฉ๋ฉด) ๊ธฐ๋ณธ๊ฐ์ด์ด์ผ ํฉ๋๋ค. ๊ทธ๋ฌ๋ ๋๋ ๋จ์ง ๋ด ์์ ์ ์ทจํฅ์ ๋ํด ์ธ๊ธํ์ ๋ฟ์
๋๋ค. ์์งํ ๋งํด์ --only-binary
๊ฐ ๋๋ถ๋ถ์ ์ฌ๋๋ค์ด ์ํ๋ ๊ฒ์ธ์ง ๋ชจ๋ฅด๊ฒ ์ต๋๋ค(์ฅ๋จ๊ธฐ์ธ์ง ์ฌ๋ถ์ ๋ฐ๋ผ ๋ค๋ฆ).
๋ฐ์ด๋๋ฆฌ(ํ ), ์ด๋์์๋ ๊ตฌ์ถํ ์ ์๋ ์์ค(์ผ๋ฐ์ ์ผ๋ก ์์ํ Python), ์ปดํ์ผ๋ฌ ๋๋ ๊ธฐํ ์ธ๋ถ ์ ์ ์กฐ๊ฑด์ด ํ์ํ ์์ค ๊ฐ์๋ ํฐ ์ฐจ์ด๊ฐ ์์ต๋๋ค. ์ฌํ๊ฒ๋, pip๋ ํ์์ ๋ ๊ฐ์ง๋ฅผ ๊ตฌ๋ณํ ์ ์์ผ๋ฉฐ, ์ด๋ --only-binary
๋ ์ ์ฉํ๊ฒ ๋ง๋ญ๋๋ค(ํนํ ๊ธฐ๋ณธ๊ฐ์ผ๋ก).
๊ทธ๋ฆฌ๊ณ ๋๋ "๋ด ๋ป๋๋ก ํ๋ผ" ๊ธฐ๋ณธ๊ฐ๋ณด๋ค ๋ช ๋ น ๊ฐ์ ์ผ๊ด์ฑ์ ์ค์ํ๊ฒ ์๊ฐํฉ๋๋ค. ์ด๋ ๋ค์ ๋ด ๊ฐ์ธ ์ทจํฅ์ผ ์๋ ์์ต๋๋ค.
์์ฝ ๊ทธ ์ด์์ ๊ธ์ ๋ํ ํ์ ์กฐ์น์ ๋๋ค. ๊ฐ๋ฅํ ํ ๋นจ๋ฆฌ ์ฝ์ผ์ญ์์ค.
๋๋ ๊ทธ๊ฒ์ ์ฝ์๊ณ (๋ด๊ฐ ์ด๊ฒ์ ๋ํ ๋ค์ํ ์ค๋ ๋๋ฅผ ๋ฐ๋์ ๋) ๋ด๊ฐ ์์ง ๋ชปํ๋ ๋ง์ ๊ฒ์ ์ถ๊ฐํ์ง ์์์ผ๋ฏ๋ก ๋ด ์๊ฒฌ์ด ์ ํจํฉ๋๋ค. ํ์ง๋ง ํ๋ ์ด ํํฉ์ ๋ํ ์ข์ ์์ฝ์ด๋ผ ์จ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค.
์ฐ๋ฆฌ๋ ์ค์น์ ๋ค๋ฅธ ์ ๊ทธ๋ ์ด๋๋ฅผ ํด์๋ ์ ๋ฉ๋๋ค.
ํญ์ ์ํ๋ ๊ฒ์ด ์๋ค๋ฉด ๊ธฐ๋ณธ๊ฐ์ด์ด์ผ ํฉ๋๋ค. ๊ทธ๋ฌ๋ ์ค์น ๋ฐ ๊ฐ๋ฅํ ์ ๊ทธ๋ ์ด๋ ๋ช ๋ น ๊ฐ์ ์ผ๊ด์ฑ์ ์ ์งํ๋ ๊ฒ์ ์ข์ ์๊ฐ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค.
_๋ชจ๋ ์ฌ๋_์ด ํญ์ ๋ฌด์ธ๊ฐ๋ฅผ ์ํ ๊ฒฝ์ฐ, (์ด์ฉ๋ฉด) ๊ธฐ๋ณธ๊ฐ์ด์ด์ผ ํฉ๋๋ค. ๊ทธ๋ฌ๋ ๋๋ ๋จ์ง ๋ด ์์ ์ ์ทจํฅ์ ๋ํด ์ธ๊ธํ์ ๋ฟ์ ๋๋ค.
์ค๋ช : ๋ด ์๊ฒฌ์ ์๋ "๋น์ "์ ์ต์ข ์ฌ์ฉ์(๋ณต์ํ)๋ฅผ ์๋ฏธํ์ผ๋ฉฐ @pfmoore ๋ ํน์ ๊ฒฝ์ฐ์ ํ๋์ ๋๋ค. ๋๋ ์ ๋ง๋ก ๋ค๋ฅธ ๋จ์ด๋ฅผ ์ฌ์ฉํ์ด์ผ ํ๋ค.
์ ๊ทธ๋ ์ด๋ ์ ๋ต์ ๋ํ ๋ช ๊ฐ์ง ์๊ฐ. ๋ฌผ๋ก ๊ฐ์ธ์ ์ธ ์๊ฒฌ์ ๋๋ค :-)
๋ด๊ฐ pip upgrade foo
ํ๋ค๊ณ ๊ฐ์ ํด ๋ด
์๋ค.
foo
์ค์น๋์ด ์์ง ์์ผ๋ฉด ์ค๋ฅ๊ฐ ์์๋ฉ๋๋ค. ์ ์๊ฒ "์ค์น"์ "์
๊ทธ๋ ์ด๋"๋ ๋ณํฉํ๊ณ ์ถ์ง ์์ ๋ ๊ฐ์ ๊ฐ๋ณ ํ๋์
๋๋ค.--only-binary
) ํ ์ผ์ด ์๋ค๋ ์๋ฆผ์ ๊ธฐ๋ํฉ๋๋ค.foo
๊ฐ ์ต์ ๋ฒ์ ์ผ๋ก ์
๊ทธ๋ ์ด๋๋ ๊ฒ์ผ๋ก ์์ํฉ๋๋ค. ๊ทธ๊ฒ์ด ๋ด๊ฐ ์์ฒญํ ๊ฒ์ด๋ฏ๋ก ๊ทธ๋ ๊ฒ ๋์ด์ผ ํฉ๋๋ค.pip upgrade foo>1.0
๋ ๋ฌด์์ ์๋ฏธํฉ๋๊น? ๊ฑฐ๊ธฐ์ 1.1์ ๋จ๊ฒจ๋๋ฉด ์
๊ทธ๋ ์ด๋๊ฐ ์๋์ง๋ง 1.2๋ก ์
๊ทธ๋ ์ด๋ํ๋ฉด pip upgrade foo
. ์๋ง๋ pip upgrade foo<2.0
์ ๊ฐ์ ๊ฒ์ ์๋ฏธ๋ฅผ ๋ถ์ฌํ ์ ์์ง๋ง IMO๋ ๋งค์ฐ ์ด๋ก์ ์ธ ๊ฒฝ์ฐ์ด๋ฉฐ ๋ณต์กํ ๊ฐ์น๊ฐ ์์ต๋๋ค. ๋ฐ๋ผ์ pip upgrade
๊ฐ ํจํค์ง ์ด๋ฆ ๋ชฉ๋ก(์๊ตฌ์ฌํญ๊ณผ ๋ฐ๋)๋ง ์ทจํ๋ค๊ณ ๊ฐ์ ํด ๋ด
์๋ค.pip upgrade <path_to_archive/wheel>
์ ํด์ํ๋ ๋ฐฉ๋ฒ์ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค. ์ฒซ ๋ฒ์งธ ์ธ์คํด์ค์์ ํ์ฉ๋์ง ์๋๋ค๊ณ ๊ฐ์ ํด ๋ณด๊ฒ ์ต๋๋ค.--only-binary
๋ ์ฌ์ฉ์ ์ต์
์ด์ด์ผ ํ๋ฉฐ ์ง์ ๋ ๊ฒฝ์ฐ pip๊ฐ "์ฌ์ฉ ๊ฐ๋ฅํ ํญ๋ชฉ"์ ํด๊ฒฐํ ๋ ์์ค ๋ฐฐํฌ๋ฅผ ๋ฌด์ํด์ผ ํจ์ ์๋ฏธํฉ๋๋ค. (๋ฌผ๋ก ๊ธฐ๋ณธ์ ์ผ๋ก ๋ฐ์ด๋๋ฆฌ๋ง ์ฌ์ฉํ ์ ์๊ณ --allow-source
์ต์
์ด ์์ง๋ง ์ด๋ ์ชฝ์ด๋ upgrade
๋ ์ด์ ๊ด๋ จํ์ฌ install
์ ์ผ์นํด์ผ ํฉ๋๋ค).์, ๋ช ์์ ์ผ๋ก ์ง์ ๋ ํจํค์ง๋ฅผ ์ฒ๋ฆฌํ์ต๋๋ค. ๋๋ ๊ฑฐ๊ธฐ์ ๋ ผ์์ ์ฌ์ง๊ฐ์๋ ๊ฒ์ด ์๋์ง ์์ฌํฉ๋๋ค (๋์ค์ ์๋ตํด์ผํ๋ค๊ณ ๋งํ๋ ๋ถ๋ถ์ ์ ์ธํ๊ณ ๋). ์ด์ ์ข ์์ฑ์ ๋ํด ์ค๋ช ํฉ๋๋ค.
upgrade-all
๋ช
๋ น(๋๋ ๋จ์ผ ๋ช
๋ น์ ์ ์งํ๋ ค๋ ๊ฒฝ์ฐ upgrade --all
์ ์ํ ๊ฐ๋ฅ์ฑ์ด ํจ์ฌ ๋ ๋์ต๋๋ค. ์ด๊ฒ์ ๋ช
๋ น์ค์ ๋์ด๋ ๋ชจ๋ ์ค์น๋ ํจํค์ง์ ํจ๊ป upgrade
์ ์๋ฏธ์ ๋์ผํด์ผ ํฉ๋๋ค. ํจํค์ง์ ๋ธ๋ผ์ธ๋ ์
๊ทธ๋ ์ด๋๋ฅผ ์ํํ๊ณ ๋๋ฉด(์ผ๋ฐ์ ์ผ๋ก ํจํค์ง์ ์ข
์์ฑ ํธ๋ฆฌ๋ฅผ ๋ชจ๋ฅด๊ฑฐ๋ ๋ฌธ์ํํ ์ ์์) ์๋ง๋ "๋ชจ๋ ๊ฒ"์ ์ํ ๊ฒ์
๋๋ค. ๊ฐ์ ํ๊ฒฝ์ ์ฌ์ฉํ์ฌ ์ฌ๋ฌผ์ ๊ฒฉ๋ฆฌํ๋ ๊ฒฝ์ฐ์๋ ๋์ฑ ๊ทธ๋ ์ต๋๋ค.--only-binary
์ง๋ฌธ์ด ์ฌ๊ธฐ์ ๋ค์ ๋ํ๋ฉ๋๋ค. ํ์คํ ์ฌ์ฉ์๊ฐ ๊ธฐ๋ณธ ์
๊ทธ๋ ์ด๋์ ๋ํด --only-binary
๋ฅผ ์ง์ ํ๋ฉด ์ข
์์ฑ์ด --only-binary
๋ฅผ ์์ํ๋ ๊ฒ์ผ๋ก ๊ฐ์ ํด์ผ ํฉ๋๋ค. ๊ทธ๋ฌ๋ ์ฌ์ฉ์๊ฐ ๋ฉ์ธ ํจํค์ง๋ฅผ ์
๊ทธ๋ ์ด๋ํ ๋ ์์ค ์ค์น๋ฅผ ํ์ฉํ๋๋ผ๋ ์ข
์์ฑ์ ์์ค ์
๊ทธ๋ ์ด๋๋ฅผ ์ํํ๋ ๊ฒ๊ณผ ๊ด๋ จ๋ ์คํจ ์ํ์ ๋์
ํ๋ ๊ฒ์ ๋ถ๋นํด ๋ณด์
๋๋ค. ๋ฐ๋ผ์ ์ฌ์ฉ์๊ฐ ์์ค๋ฅผ ๋ช
์์ ์ผ๋ก ํ์ฉํ์ง ์๋ ํ ์ข
์์ฑ์ ์
๊ทธ๋ ์ด๋ํ๊ธฐ ์ํด ๋ฐ์ด๋๋ฆฌ๋ง ๊ณ ๋ คํด์ผ ํ๋ค๊ณ ์ ์ํฉ๋๋ค. ์ด๋ --allow-source dep1,dep2,...
์ต์
์ด ํ์ํจ์ ์๋ฏธํฉ๋๋ค. ์ด ์ ์์ด ๋
ผ๋์ ์ฌ์ง๊ฐ ์์ ๊ฒ์ผ๋ก ์์ํ์ง๋ง numpy์ ์์กดํ๋ ์์ค ํ์์ผ๋ก๋ง ๋ฐฐํฌ๋๋ ์์ํ Python ํจํค์ง foo
๋ฅผ ๊ณ ๋ คํ์ญ์์ค. numpy >=1.10์ ๋ฐ๋ผ foo 1.0์ด ์๊ณ numpy>=1.11์ ๋ฐ๋ผ foo 2.0์ด ์์ต๋๋ค. ์ฌ์ฉ์๋ foo 1.0์ ๊ฐ์ง๊ณ ์์ผ๋ฉฐ ์
๊ทธ๋ ์ด๋๋ฅผ ์ํฉ๋๋ค. ๊ทธ๋ค์ numpy๋ฅผ ๊ตฌ์ถํ ์๋จ์ด ์์ต๋๋ค. ๊ทธ๋ค์ foo์ ๋ํ ์์ค ์
๊ทธ๋ ์ด๋๋ฅผ ํ์ฉํด์ผ ํ์ง๋ง numpy 1.11์ ๋น๋ํ๋ ๋ฐ ์๊ฐ์ ๋ญ๋นํ๊ณ ์ถ์ง ์์ต๋๋ค. ๋ฌผ๋ก --only-binary numpy
์ง์ ํ ์ ์์ง๋ง foo๊ฐ numpy์ ์์กดํ๋ค๋ ์ฌ์ค์กฐ์ฐจ ์ธ์ํ์ง ๋ชปํ ์๋ ์์ต๋๋ค.๊ทธ๊ฒ ๋ค์ผ. ์ ์๊ฒ ์๊ตฌ ์ฌํญ์ ๋งค์ฐ ๋ช ํํฉ๋๋ค(์์งํ, ๊ตฌํ ๋ฌธ์ ๋ฅผ ๋ฌด์ํ ๊ฒฝ์ฐ ์๊ตฌ ์ฌํญ์ด ํนํ ๋ ผ์์ ์ฌ์ง๊ฐ ์๋ค๊ณ ์๊ฐํ์ง ์์ต๋๋ค). ๊ทธ๋ฌ๋ ๊ตฌํ์ ์ฌ๊ธฐ์์ ํฌ๋ฌ์ ๋๋ค(๊ธฐ๋ณธ์ ์ผ๋ก ์์ ๋ด์ฉ์ ์ด์ ์ ๋ ผ์๋ ๋ฐ์ ๊ฐ์ด ์์ ํ SAT ์๋ฒ ์ ๊ทผ ๋ฐฉ์์ ์๊ตฌํฉ๋๋ค). SAT ์๋ฒ๋ฅผ ๊ตฌํํ๋ ๊ฒ์ด ๋๋ฌด ์ด๋ ต๊ธฐ ๋๋ฌธ์ ์ฐ๋ฆฌ๊ฐ ๊ธฐ๊บผ์ด ํํํ ์ ์๋ ๋ถ๋ถ์ ๋ ผ์์ ์ฌ์ง๊ฐ ์๋ ๋ถ๋ถ์ ๋๋ค.
๋ด๊ฐ ์๋ ํ ๋ค์๊ณผ ๊ฐ์ ๊ตฌํ ๊ณผ์ ๊ฐ ์์ต๋๋ค.
pip upgrade a b c
์ด ์๋ ๊ฒฝ์ฐ ์ด๋ฅผ 3๊ฐ์ ๊ฐ๋ณ ์์
("์
๊ทธ๋ ์ด๋ a", "์
๊ทธ๋ ์ด๋ b", "์
๊ทธ๋ ์ด๋ c")์ผ๋ก ์ฒ๋ฆฌํฉ๋๊น, ์๋๋ฉด 3๊ฐ๋ฅผ ๋จ์ผ "๊ฒฐํฉ"์ผ๋ก ๋ณํฉํฉ๋๊น? ์ด๋ป๊ฒ๋ ์กฐ์น๋ฅผ ์ทจํ์ญ์์ค(๋์๊ณผ ๋ค๋ฅธ ์ข
์์ฑ์ ์ฒ๋ฆฌํ ๊ฒ์ ์ ์ํ๊ธฐ ๋๋ฌธ์ ์ด๊ฒ์ ๋๋ฏธ๊ฐ, b ๋ฐ c์ ์์กดํ๊ณ ๋๋ฏธ๊ฐ ์
๊ทธ๋ ์ด๋๋์๋ค๊ณ ๊ฐ์ ํ๋ pip upgrade dummy
์ ๋์ผํ์ง _์๋๋ค_).๋๊ตฐ๊ฐ ์์ ์๊ฒฌ์ด๋ ์ฃผ์ฅ์ ๋ํด ๋ฌธ์ ๋ฅผ ์ ๊ธฐํ๊ณ ์ถ๋ค๋ฉด ๊ทธ๊ฒ์ ์ข์ต๋๋ค. ์ด ๋๋ถ๋ถ์ ๋ด ์๊ฒฌ์ผ ๋ฟ์ด๋ฉฐ ์์งํ ๋ณต์กํ ํ๊ฒฝ์์๋ ์์ ํ์ง ์์ต๋๋ค. ๋ด ์ฌ์ฉ์ ๋๋ถ๋ถ Windows์์ ์์คํ ์ค์น ๋ฐ ๋ช ๊ฐ์ง ๊ฐ์ ํ๊ฒฝ์ ์ ์ง ๊ด๋ฆฌํ๋ ๊ฒ๊ณผ ๊ด๋ จ์ด ์์ ๊ฒ์ ๋๋ค(๋ฐ๋ผ์ ๋ฐ์ด๋๋ฆฌ ์ค์น์ ์์ค ์ค์น์ ๋ํ ๋ ผ์์ ๋์ง๋ง ๋ณต์กํ ์ข ์์ฑ ๊ทธ๋ํ๋ ๊ทธ๋ฆฌ ๋ง์ง ์์ต๋๋ค). ๊ฐ์ ์ ํ์ธํ ์ ์๋ ์ฌ์ฉ ์ฌ๋ก๊ฐ ๋ง์์๋ก ์ข์ต๋๋ค.
๋ฐ๋ผ์ ํ์ฌ pip install
๋ฐ pip install --upgrade
๋ผ๋ ๋ ๊ฐ์ง ์์
์ด ์์ต๋๋ค. ๊ทธ๋ฌ๋ ์ด ๋ ๊ฐ์ง ์์
์ ๋ชจ๋ ์ค์ ์ํ์์ ์๋ฌด๋ ์ํ์ง ์๋ ์์
์ ์ํํ๋ค๊ณ ์๊ฐํฉ๋๋ค.
pip install
๊ฒฝ์ฐ ์์คํ
์ ์ด๋ฏธ ์ค์น๋ ํญ๋ชฉ์ ๊ธฐ๋ฐ์ผ๋ก ์ต์ ๋ฒ์ ์ ๋ฐ์ ์๋ ์๊ณ ๋ฐ์ง ๋ชปํ ์๋ ์๋ ์ด์ํ ์ข
๋ฅ์ ๋์์ด ๋ฐ์ํฉ๋๋ค. ์ด๋ฐ ์ข
๋ฅ์ ๊ธฐ์ดํจ์ด pip๋ฅผ ์ฌ์ฉํ๊ธฐ ์ด๋ ต๊ฒ ๋ง๋ ๋ค๊ณ ์๊ฐํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ ๋ ๊ทธ๊ฒ์ด ์ ๋ง๋ก ์๋ฏธ๊ฐ ์๋ค๊ณ ์๊ฐํฉ๋๋ค(์
๊ทธ๋ ์ด๋ํ์ง ์๋ ๊ฒ์ด ์ด๋ค ์ํฉ์ ๊ด์ฌ์ด ์๊ฒ ์ต๋๊น? ๊ทธ๋ฌ๋ ์์ง ์ค์นํ์ง ์์ ๊ฒฝ์ฐ ์ต์ ๋ฒ์ ์ ์ค์นํ๊ณ ์ถ์ต๋๊น? ๊ทธ๊ฒ?). ์ด ๋ช
๋ น์ ์ด ์ด์ํ ์๋ง๋-์ต์ -์๋ง๋-์๋ ๋์์ด ์๋ค๋ ์ฌ์ค์ด ๋ง์ ์ฌ๋๋ค์ด pip install
์๋ ๊ธฐ๋ณธ ๋ช
๋ น์ผ๋ก pip install ---upgrade
์ ๋๋ฌํ๋ ๊ฒ์ ๋ณด๋ ์ด์ ๋ผ๊ณ ์๊ฐํฉ๋๋ค.
๊ทธ๋ฌ๋ pip install --upgrade
๋ ํจ์ฌ ๋ซ์ง ์์ผ๋ฉฐ ์ผ๊ด๋ ๋์์ ์ ๊ณตํ์ง๋ง ์ง๋์น๊ฒ ์ด์ฌ์ด๋ฉฐ ์ฌ์ฉ์๊ฐ ์์ง ๋ชปํ๋ _๋ชจ๋ ๊ฒ_์ ์ ์ฒด ์
๊ทธ๋ ์ด๋๋ก ํ์ฅ๋์ด pip install --upgrade
๋ช
๋ น. ์ด ๋์์ ๋ํ ์ฝ๊ฐ์ ์ฌ์ฉ์ ๋ณผ ์ ์์ง๋ง ์ต์์ ๋ช
๋ น์ ๋ํ ์ข์ ๊ธฐ๋ณธ๊ฐ์ผ๋ก ๋ณด์ง ์์ต๋๋ค.
์ฌ๊ธฐ์ ์ฐ๋ฆฌ๊ฐ ํด์ผ ํ ์ผ์ `pip install ... more consistent. In that I mean
pip install ์ด ํญ์ ์ต์ ๋ฒ์ ์ ๊ฐ๋๋ก ํ๋ ๊ฒฝ๋ก๋ฅผ ํ์
ํ๋ ๊ฒ์
๋๋ค. ๋ช
์์ ์ผ๋ก ์ธ๊ธ๋์ง ์์ ์ฌํญ์ ๋ง์ง์ง ๋ง์์ผ ํ๋ ๊ฒฝ์ฐ๋ฅผ ์ ์ธํ๊ณ ๋ ๋ค๋ฅธ ๋ฐฉ์์ผ๋ก ์๋ํด์ผ ํ๋ค๊ณ ์๊ฐํฉ๋๋ค(์ ์ฝ ์กฐ๊ฑด์ ์ถฉ์กฑํ๊ธฐ ์ํด ๊ทธ๋ ๊ฒ ํด์ผ ํ๋ ๊ฒฝ์ฐ์๋ ์ฌ์ฉ ๊ฐ๋ฅํ ์ต์ ๋ฒ์ ์ผ๋ก ๋ค์ ์
๊ทธ๋ ์ด๋ํด์ผ ํฉ๋๋ค. ๋ชจ๋ ์ ์ฝ ์กฐ๊ฑด๊ณผ ์ผ์นํจ).
์ด ๋ช
๋ น์ --eager
๋๋ --recursive
๋๋ --upgrade-all-the-things
๋์์ ์ฃผ๋ ๊ฒ์ด ์ข์ต๋๋ค.
ํจํค์ง ๋ชฉ๋ก์ ๊ฐ์ ธ์ค๋ pip upgrade
๋ช
๋ น์ ์ฐ๋ฆฌ๊ฐ ํด์ผ ํ ์ผ์ด๋ผ๊ณ ์๊ฐํ์ง ์์ต๋๋ค. ์ด๋ฌํ ๋ช
๋ น์ ์ถ๊ฐํ๋ฉด ์ค์น๋ ๋ชจ๋ ๊ฒ์ ์ต์ ๋ฒ์ ์ผ๋ก ์
๊ทธ๋ ์ด๋ํ๋ ๋ฐ ์ฌ์ฉํด์ผ ํ๋ค๊ณ ์๊ฐํฉ๋๋ค(์ข
์์ฑ ์ฒด์ธ ์ ๋ณด์ --only-binary
๊ฐ์ ์์ ์๋ฅผ ๊ณ ๋ ค).
๋ญ? ๋ฐ๋ผ์ foo๊ฐ ์ค์น๋ ๊ฒฝ์ฐ pip install foo
๊ฐ ํญ์ ์คํจํ์ง๋ ์์ต๋๊น? ๊ทธ๊ฒ์ ๋์๊ฒ ์๋ชป๋ ๊ฒ ๊ฐ์ต๋๋ค. "์ด๋ฏธ ์ค์น๋จ"์ด๋ผ๊ณ ํ์๋ ๊ฒ์ผ๋ก ์์ํฉ๋๋ค.
๋๋ pip install
๊ฐ "์ค์น ๋๋ ์
๊ทธ๋ ์ด๋"๋ผ๋ ์๊ฐ์ ๊ด์ฌ์ด ์์ต๋๋ค. ๋ช
์์ ์ด๊ฑฐ๋ ๋ชจ๋ ๊ฒ์ด ์ข์ต๋๋ค.
ํ์ฌ pip install foo
๋ ๋ฌด์ธ๊ฐ๊ฐ ์ค์น๋์๋์ง ์ฌ๋ถ์ ๋ฐ๋ผ "์คํจ"ํ์ง ์์ต๋๋ค. ์๋ฌด ๊ฒ๋ ํ์ง ์๊ณ X๊ฐ ์ด๋ฏธ ์ค์น๋์ด ์๋ค๊ณ ๋งํฉ๋๋ค. ๋ด ์ฃผ์ฅ์ ํ๋์ด ๊ทธ๋ค์ง ์ ์ฉํ์ง ์๋ค๋ ๊ฒ์
๋๋ค. "์ผ๋ถ ๋ฒ์ , ๋ชจ๋ ๋ฒ์ ์ด ์ค์น๋ ๊ฒ์ผ๋ก ํ์ธ"์ ๋์๊ฒ ์ ์ฉํ ๋์์ด ์๋ ๊ฒ ๊ฐ์ต๋๋ค. ๋ํ ๋ด๊ฐ apt-get
์ ๋๋ฅผ ์ข์ํ๋ ๋ค๋ฅธ ํจํค์ง ๊ด๋ฆฌ์์ ์ผ์นํ์ง ์์ต๋๋ค.
์ข์, ๋๋ ๊ทธ ํ๋์ด ์ ์ฉํ์ง ์๋ค๋ ๊ฒ์ ์ ์ ์๋ค(๊ฐ์ธ์ ์ผ๋ก ๋๋ "์ด๋ฏธ ์ค์น๋จ"์ ์๋นํ ๋ฌดํดํ๋ค๊ณ ์กฐ์ฉํ ๋ฐ์๋ค์ด๊ณ ์์ง๋ง). ๊ทธ๋ฌ๋ ์ ๊ทธ๋ ์ด๋๋ณด๋ค๋ ์ด๋ฏธ ์ค์น๋ ํจํค์ง์ ์ค์น๊ฐ ์คํจํ๋ ๊ฒ์ ๋ณด๊ณ ์ถ์ต๋๋ค.
foo 2.0์ด ์ด๋ฏธ ์ค์น๋ ๊ฒฝ์ฐ pip install foo-1.0-none-any.whl
๊ฐ ๋ฌด์์ ํ๊ธฐ๋ฅผ ๊ธฐ๋ํฉ๋๊น? ๋ค์ด๊ทธ๋ ์ด๋? ์กฐ์ฉํ ์๋ฌด๊ฒ๋ ํ์ง? ์ฌ๋๋ค์ด ์ค์ ๋ก ๊ธฐ์ตํ ์ง ์์ฌ๋๋ ๋ณต์กํ ๊ท์น ์งํฉ๋ณด๋ค ๋ฉ์ง๊ณ ๊ฐ๋จํ "์ด๋ฏธ ์ค์น๋จ" ์ค๋ฅ๊ฐ ํ์๋๋ ๊ฒ์ด ์ข์ต๋๋ค.
์ ๋ Linux ํจํค์ง ๊ด๋ฆฌ์์ ๋ํ ๊ฒฝํ์ด ๋ง์ง ์์ผ๋ฏ๋ก pip์์ ์ ์ฌ์ (๋๋ ๊ธฐํ)์ ๋ํด ์ธ๊ธํ ์ ์์ต๋๋ค. ํ์ง๋ง apt-get install foo
๊ฐ) ์
๊ทธ๋ ์ด๋๋ ๊ฒ์ด๋ผ๊ณ ๋ ์๊ฐํ์ง ์์ต๋๋ค. ๋ฐ๋ผ์ ์
๊ทธ๋ ์ด๋ํ๋ค๊ณ ํ๋ฉด ์ ๋ ์ด๊ฒ๋ ์ด์ํ๋ค๊ณ ๋๋ตํ ์ ๋ฐ์ ์์ต๋๋ค.
"์ผ๋ถ ๋ฒ์ , ๋ชจ๋ ๋ฒ์ ์ด ์ค์น๋ ๊ฒ์ผ๋ก ํ์ธ"์ ๋์๊ฒ ์ ์ฉํ ๋์์ด ์๋ ๊ฒ ๊ฐ์ต๋๋ค.
์ด์ ๋ํ ๊ฐ๋จํ ๋ถ์์ ์ธ ์ง๋ฌธ: "์ด ํน์ ๋ฒ์ ์ด ์ค์น๋์ด ์๋์ง ํ์ธ"์ ์ด๋ป์ต๋๊น?
์ ๊ฒฝ์ฐ์ง ๋ง์ธ์. ์ค๋๋ ์ฐ๋ฆฌ๋ ๊ทธ๋ฐ ํ๋์ ํ๊ณ ์์ต๋๋ค.
@pf๋ฌด์ด :
foo 2.0์ด ์ด๋ฏธ ์ค์น๋ ๊ฒฝ์ฐ pip install foo-1.0-none-any.whl์ด ๋ฌด์์ ํ ๊ฒ์ผ๋ก ์์ํฉ๋๊น? ๋ค์ด๊ทธ๋ ์ด๋? ์กฐ์ฉํ ์๋ฌด๊ฒ๋ ํ์ง? ์ฌ๋๋ค์ด ์ค์ ๋ก ๊ธฐ์ตํ ์ง ์์ฌ๋๋ ๋ณต์กํ ๊ท์น ์งํฉ๋ณด๋ค ๋ฉ์ง๊ณ ๊ฐ๋จํ "์ด๋ฏธ ์ค์น๋จ" ์ค๋ฅ๊ฐ ํ์๋๋ ๊ฒ์ด ์ข์ต๋๋ค.
ใ ใ ๊ธฐ๋๊ฐ ํฝ๋๋ค. ๋๋ _๋ถ๋ช ํ_ ์ด ๊ฒฝ์ฐ pip๊ฐ ๋ค์ด๊ทธ๋ ์ด๋๋์ด์ผ ํ๋ค๊ณ ๋งํ๊ณ ์ถ์ต๋๋ค. ์ฌ์ฉ์๋ pip๊ฐ ์ด ํน์ ํ ์ ์ค์นํ๊ธฐ๋ฅผ ์ํ๋ค๊ณ ์์ ํ ๋ช ์์ ์ผ๋ก ๋งํ์ผ๋ฏ๋ก pip๋ ํด๋น ํน์ ํ ์ ์ค์นํด์ผ ํฉ๋๋ค. ๊ทธ๊ฒ์ ๋ํด ๋ณต์กํ ๊ฒ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ "๋ฐฐํฌ ๊ฒฝ๋ก/ํ์ผ์ด ๋ช ์์ ์ผ๋ก ์ ๊ณต๋จ" ๊ฒฝ์ฐ๋ #536์ ๋๋ค. ์๋ง๋ ์ฌ์ฉ์๊ฐ "pip install foo"๋ผ๊ณ ๋งํ๋ฉด ํจํค์ง ์์ธ์ผ๋ก ์ด๋ํ์ฌ foo 2.0, foo 1.0์ด ์ด๋ฏธ ์ค์น๋ ๊ฒฝ์ฐ.
๋๋ ์ฌ๊ธฐ์์ Donald์ ์
์ฅ์ ๋งค์ฐ ๋์ํฉ๋๋ค. " pip install
๋ ๋ฌด์์ ํด์ผ ํฉ๋๊น?"๋ผ๋ ์ง๋ฌธ์์ ์์ํ๋ฉด ์ด๋ฆ์ '์ค์น'๊ฐ ํ์๋์ด ์ค์น๋ง ํ๊ณ ์
๊ทธ๋ ์ด๋๋ ํ์ง ์์์ผ ํ๋ค๊ณ ์ฃผ์ฅํ๋ ๋ฐฉ๋ฒ์ ์ ์ ์์ต๋๋ค( ๊ธ์, ์ด๋ค ์ ์ฝ์ด ์๋ ๊ฒฝ์ฐ๋ฅผ ์ ์ธํ๊ณ ). ๊ทธ๋ฌ๋ "์ฌ์ฉ์๊ฐ ์ํ๋ ์์
์ ๋ฌด์์
๋๊น?"๋ผ๋ ์ง๋ฌธ์์ ์์ํ๋ฉด ์ต์ ๋ฒ์ ์ ์ค์นํ๊ฑฐ๋ ์ด์ ๋ฒ์ ์ ๋จ๊ธธ ์ ์๋ ๋ช
๋ น์ด ์ ๋ง ์ด์ํ๊ณ ์ง๊ด์ ์ด์ง ์์ต๋๋ค. ๋๋ ์ฌ์ฉ์๊ฐ pip install x
์
๋ ฅํ๋ ๊ฒฝ์ฐ์ 99%์์ (a) ์ค์น ์ฌ๋ถ๋ฅผ ํ์ ํ์ง ๋ชปํ๊ฑฐ๋ ์ค์น๋์ด ์์ง ์๋ค๋ ๊ฒ์ ์๊ณ (b) ์ฒ์ ์ฌ์ฉํ๊ธฐ ์์ํ๊ธฐ ๋๋ฌธ์ ์ค์นํ์ญ์์ค. (์ฒ์์ด ์๋๋ฉด ์ค์น๋ ๊ฒ์ ์๊ณ pip install
์คํํ์ง ์์ ๊ฒ์
๋๋ค.) ์ด ์ํฉ์์ ์ต์ ๋ฒ์ ์ ์ ๊ณตํ๋ ๊ฒ์ด ์ณ์ต๋๋ค.
@nchammas :
"์ด ํน์ ๋ฒ์ ์ด ์ค์น๋์ด ์๋์ง ํ์ธ"์ ์ด๋ป์ต๋๊น? ๋ฉฑ๋ฑ์ฑ ์ค์น ๋ช ๋ น์ด ์๋ ์ ์๊ฒ ์ ์ฉํ ๊ฒ ๊ฐ์ต๋๋ค.
"ํน์ ๋ฒ์ "์ ๊ฒฝ์ฐ pip install x==<version>
์์ต๋๋ค.
๋ํ ์ด๋ค ์ข
๋ฅ์ ์คํฌ๋ฆฝํ
/ํ๋ก๊ทธ๋๋งคํฑ ์ฌ์ฉ์ ๊ฒฝ์ฐ Dist-Requires: x
ํจํค์ง๋ฅผ ์ค์นํ๋ ๊ฒ๊ณผ ๋์ผํ ์๋ฏธ๋ฅผ ๊ฐ์ง pip require x
๋ช
๋ น์ ์ฌ์ฉํ๋ ๊ฒ์ด ์ ์ฉํ ์ ์๋ค๊ณ ์์ํ ์ ์์ต๋๋ค. ๋ฒ์ ์ด ์ค์น๋์์ง๋ง ๋ฌด์์ ๋ํ ๋ณด์ฅ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ์ด๊ฒ์ ์ต์ข
์ฌ์ฉ์๋ฅผ ์ํ ๊ฒ์ด ์๋ ํ์ ์์ค ๋ช
๋ น์
๋๋ค.
์ด๋ค ์ฌ์ด์ ์ฐจ์ด์ ์ ๋ํด ์๊ฐํ๋ ํ ๊ฐ์ง ๋ฐฉ๋ฒ: x
์ด ์ค์น๋์ง ์์ ๊ฒฝ์ฐ pip require x
์์ ์์์ ์ด์ ๋ฒ์ ์ ์ค์นํ๋ ๊ฒ์ด ์ข์ต๋๋ค. (๊ทธ๋ฆฌ๊ณ ์ ์ฅ, ์๋ง๋ ๊ทธ๋์ผ๋ง ํ๊ณ , ์ฌ๋๋ค์ด ๊ทธ๊ฒ์ ๋ํด ๊ฐ๊ฑดํด์ผ ํฉ๋๋ค .) ํ์ง๋ง ์๋ฌด๋ pip install x
์์์ ์ด์ ๋ฒ์ ์ ์ค์นํ๋ ๊ฒ์ ๋ฐ์๋ค์ด์ง ์์ ๊ฒ์
๋๋ค.
(์ด๊ฒ์ ์ฌ๊ณ ์คํ์
๋๋ค. ์ ๋ x
๊ฐ ์๋ ํ๊ฒฝ์์ ์ผ๋ฐ Dist-Requires: x
๋๋ pip require x
๊ฐ x
์ ์์์ ์ด์ ๋ฒ์ ์ ์ ํํด์ผ ํ๋ค๊ณ ์ฃผ์ฅํ์ง ์์ต๋๋ค.
๊ธ์, ์ฌ์ฉ์๊ฐ pip install x
์
๋ ฅํ๋ ๋ ๋ค๋ฅธ ๊ฒฝ์ฐ๊ฐ ์๋ค๊ณ ์๊ฐํฉ๋๋ค. ์ด๊ฒ์ ์ด๋ฏธ ์ค์น๋์ด ์์์ ์๊ณ ์์ง๋ง install
ํญ์ ์
๊ทธ๋ ์ด๋๋๋ ๋ฐ๋น์ ์คํ์ผ ๋์์ด ์๋ ์์คํ
์ ์ต์ํฉ๋๋ค. . ๋ถ๋ช
ํ ์ด๋ฌํ ์ฌ์ฉ์๋ ์
๊ทธ๋ ์ด๋๋ฅผ ์ํฉ๋๋ค :-).
pip upgrade
๋ช
๋ น์ ์ถ๊ฐํ์ง ์๋ ๊ฒ์ด ์ข์ต๋๋ค.
pip ์ฌ์ฉ์๋ ์ด๋ฏธ pip์ ๋์์ ๋ํด ์ด๋ ์ ๋ ๊ธฐ๋ํ๊ณ ์์ต๋๋ค.
์ฃผ์ ๋ฌธ์ ์ ์ pip instal --upgrade
๊ธฐ๋ณธ ๋์์์ ๋ฐ์ํ๋ฏ๋ก ์ด์ ์ง์คํ๊ฒ ์ต๋๋ค.
pip 9์ ๊ฒฝ๊ณ ์ pip install --upgrade
, (--eager/non-eager) ์ ๋์์ ์กฐ์ ํ๋ ์ถ๊ฐ ์ต์
๊ณผ ํจ๊ป ๊ธฐ๋ณธ ๋์์ ๋ณ๊ฒฝํ pip 10์ ์ถฉ๋ถํ ๊ฐ๋จํด ๋ณด์ด์ง๋ง ์ฃผ์ ๋ฌธ์ ๋ฅผ ์ ๊ฑฐํด์ผ ํฉ๋๋ค. ๊ธฐ์์ด๋ฉฐ pip ์ฌ์ฉ์์ pip ์ ์ ์ ๋ชจ๋ธ์ ์์์ํค์ง ์์ต๋๋ค.
๋ค, ์ ๋ ํ์คํ "์ฌ์ฉ์๊ฐ ํ๊ธฐ๋ฅผ ์ํ๋ ์์ "๊ณผ "X ๋ช ๋ น์ด ์ํํด์ผ ํ๋ ์์ "์์ ์ด ๋ฌธ์ ์ ์ ๊ทผํ๋ ค๊ณ ํฉ๋๋ค. ๊ทธ๋ฐ ๋ค์ ์ฌ์ฉ์๊ฐ _์๊ฐ_ํ๋ ์ด ๋์ ์์ค์ ์์ ์ ์ํํ๊ณ ์ด๋ฅผ ๋จ์ผ ๋ช ๋ช ๋ ๋ช ๋ น์ ๋งคํํ๋ ค๊ณ ํฉ๋๋ค(๋ช ์์ ์ด์ง๋ง pip install-the-latest-version``์ ์ฌ์ฉ์ ์นํ์ ์ด์ง ์์). .
์ด๊ฒ์ ๋ถ๋ช
ํ ๋งค์ฐ ๋ชจํธํ์ง๋ง ํ์ฌ ์ฌ์ฉ ๊ฐ๋ฅํ ํญ๋ชฉ์ ๊ณ ๋ คํ ๋ ์ค์น ํ๋ก๊ทธ๋จ์์ ๊ธฐ๋ํ๋ ๊ฒ๊ณผ ๊ฐ์ฅ ์ผ์นํ๊ธฐ ๋๋ฌธ์ ๋ด๊ฐ ํ๋ ์์
์ 99%๊ฐ pip install -U <whatever>
๋ผ๊ณ ๋งํ ์ ์์ต๋๋ค. ๋ํ ๋ค์ํ ์๋ํ ์คํฌ๋ฆฝํธ์์ pip install -U
์ฌ์ฉํ๋ ์ฌ๋๋ค์ ๋ด
๋๋ค. ๋ํ npm๊ณผ ๊ฐ์ด ๋ค๋ฅธ ์ธ๊ธฐ ์๋ ์ธ์ด ํจํค์ง ๊ด๋ฆฌ์๊ฐ ๊ธฐ๋ณธ์ ์ผ๋ก ์ํํ๋ ์์
์ด๊ธฐ๋ ํฉ๋๋ค. ์ฌ๋๋ค์ด -U
๋ฅผ ์ฌ์ฉํ์ง ์๋ ๊ฒ์ ๋ณธ ๊ฒฝ์ฐ, ์ต์ ๋ฒ์ ์ด ์ค์น๋๋ ๊ฒ์ ์ํ์ง ์๊ธฐ ๋๋ฌธ์ด ์๋๋ผ ์ฌ๊ท์ ํน์ฑ ๋๋ฌธ์
๋๋ค.
pip ์ฌ์ฉ์๋ ์ด๋ฏธ pip์ ๋์์ ๋ํด ์ด๋ ์ ๋ ๊ธฐ๋ํ๊ณ ์์ต๋๋ค.
๊ทธ๋ฌ๋ TBH๋ ์ฌ์ฉ์๋ก์ pip์ ๋ํด ๊ฐ์ง๊ณ ์๋ ์ฃผ์ ๊ธฐ๋์ฌํญ์ ํธ์ถ์ ์ฝ 50%์์ ๋๋๊ณ ๋ถ๋ช ํ ์๋ชป๋ ์ผ์ ํ ๊ฒ์ด๋ผ๋ ๊ฒ์ ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ ์ ์ ์ผํ ์ฌ๋ - ๊ทธ๋ ๋ชจ๋ ๊ธฐ๋ณธ๊ฐ์ด ๋ถ์์ง๊ณ unbreak - ๋์๊ฒ ํ๋๊ทธ๋ฅผ ํ์๋กํ๋ ๊ฒ์ ์ ์ธํ๊ณ ๊ทธ ํ์ด ํฐ ๊ด์ฐฐ ๊ฒฝ์ฐ ์ง๋ ์ฃผ pycon์์ ์๋ฅผ ๋ค์ด @glyph์ ์ด์ผ๊ธฐ๋ฅผ ์ฐธ์กฐํ์ญ์์ค. ์ด๊ฒ์ pip ๊ฐ๋ฐ์์ ๋ํ ๋นํ์ด ์๋๋๋ค. ์ ๋ ์ฌ๋ฌ๋ถ/์ฐ๋ฆฌ ๋ชจ๋๊ฐ ๋ณต์กํ ์ ์ฝ ์กฐ๊ฑด ์๋์์ ์ผํ๊ณ ์๋ค๋ ๊ฒ์ ์ดํดํ๋ฉฐ, ์ฐ๋ฆฌ๊ฐ ๊ทธ๊ฒ์ ๊นจ๊ธฐ ์ํด ๊ธฐ๊บผ์ด ๊นจํธ๋ ค์ผ ํ๋ค๋ ์ฃผ์ฅ๋ ์๋๋๋ค. pip์๋ ๋ง์ ์กฐ๊ฐ์ด ์์ผ๋ฉฐ ๊ทธ ์ค ๋ง์ ๋ถ๋ถ์ด ์ข์ต๋๋ค! ๊ทธ๋ฌ๋ pop์ ๊ธฐ๋ณธ๊ฐ์ ์ ๋ฐ์ ์ธ ์ํ๋ฅผ ๊ณ ๋ คํ ๋ "pip๋ ํญ์ X๋ฅผ ์ํํ์ผ๋ฏ๋ก pip๋ ํญ์ X๋ฅผ ์ํํด์ผ ํฉ๋๋ค"๋ผ๋ ํ์์ ์ธ์์ ๋ํด ํ์ ํ ์ ์์ต๋๋ค. pip install์ด ์ ๊ทธ๋ ์ด๋๋ฅผ ๊ฑฐ๋ถํ๋๋ก ์ฃผ์ฅํ๊ณ ์ถ๋ค๋ฉด ๋ฉ์ง์ง๋ง ๊ด์ฑ๋ฟ๋ง ์๋๋ผ ์ค์ ์ฅ์ ์ ๋ํ ์ฃผ์ฅ์ ๋ณด๋ ๊ฒ์ด ํจ์ฌ ๋ซ์ต๋๋ค.
์, ์ฌ๊ธฐ @njsmith ๋ฐ @glyph์ ํ์คํ ๋์ํฉ๋๋ค. ์ฐ๋ฆฌ๋ ์ฌ๋ฌ ๊ฐ์ง ์๋ชป๋ ๊ธฐ๋ณธ ๋์์ ๊ฐ์ง๊ณ ์์ผ๋ฉฐ ์์ผ๋ก ๋์๊ฐ๊ธฐ ์ํด์๋ ์ด๋ฌํ ๋์์ ์ ๊ฑฐํ๊ณ ์ด๋ฌํ ์ฃผ์ ๋ณ๊ฒฝ ์ฌํญ์ ์ฒ๋ฆฌํ์ฌ ๋ ๋์ ๊ธฐ๋ณธ ๋์์ผ๋ก ์ด๋ํ๋ ๋ฐฉ๋ฒ์ ์ฐพ์์ผ ํ๋ค๊ณ ์๊ฐํฉ๋๋ค.
์ด ํน๋ณํ ๋ณํ๋ ๊ทธ ์ค ํ๋๊ฐ ์๋ ์๋ ์์ง๋ง, ์ ์๊ฐ์๋ ๊ทธ๋ ์ต๋๋ค.
๋ค, ์ ๋ ํ์คํ "์ฌ์ฉ์๊ฐ ํ๊ธฐ๋ฅผ ์ํ๋ ์์ "๊ณผ "X ๋ช ๋ น์ด ์ํํด์ผ ํ๋ ์์ "์์ ์ด ๋ฌธ์ ์ ์ ๊ทผํ๋ ค๊ณ ํฉ๋๋ค. ๊ทธ๋ฐ ๋ค์ ์ฌ์ฉ์๊ฐ ์ํํ๊ธฐ๋ฅผ ์ํ๋ ์ด ๋์ ์์ค์ ์์ ์ ์ํํ๊ณ ๋จ์ผ ๋ช ๋ช ๋ ๋ช ๋ น์ ๋งคํํ๋ ค๊ณ ํฉ๋๋ค. .
ํ์ธ. ๋ด๊ฐ ์ด๊ฒ์ ๋ํด (๋ค์) ํ์ ์ ๊ฐ๊ณ ์๋ค๊ณ ๊ฐ์ ํด ๋ด ์๋ค. ๊ทธ๋ฌ๋ ์ด๊ฒ์ด ์ฌ๋ฐ๋ฅธ ์ผ์ด๋ผ๊ณ ๊ฐ์ ํ๋ฉด ์ข ์์ฑ์ ์ด๋ป์ต๋๊น? ๋๋ "์์ค์์ numpy ์ค์น ์๋"๊ฐ ๊ฑฐ์ ํญ์ ์ํ๋ ๊ฒ์ด ์๋๋ผ๊ณ 100% ํ์ ํฉ๋๋ค. ๋ฐ๋ผ์ ์ฌ์ฉ์๊ฐ ๋ช ์์ ์ผ๋ก numpy๋ฅผ ์ธ๊ธํ์ง ์๋ ํ ๋ฐํด์์ numpy๋ง ์ค์นํฉ๋๋ค. ์ง๊ธ์ ์ฃผ์ด์ง ๊ฒ์ผ๋ก ๊ฐ์ฃผํ๊ณ ์์์ ์ค๋ช ํ ์ํฉ์ด ์๋ค๊ณ ๊ฐ์ ํฉ๋๋ค.
pip install foo
์(๋) ๋ฌด์์ ํฉ๋๊น? ์๋ง๋ ์๋ํ๋ ์ค์น์ด๋ฏ๋ก ์ฌ์ฉ์๋ฅผ 1.0์ผ๋ก ๋ก๋๋ค. ๊ทธ๋ฌ๋ ์ฑ๊ณตํด์ผ ํฉ๋๊น(foo๊ฐ ์ค์น๋์ด ์์ผ๋ฏ๋ก) ์๋๋ฉด ์คํจํด์ผ ํฉ๋๋ค(์ต์ ๋ฒ์ ์ ์ค์นํ ์ ์๊ธฐ ๋๋ฌธ์)? ์ ์๋ผ๋ฉด ์ฌ์ฉ์๋ ์์ ์ ์์คํ
์ด ์ค๋๋์๋ค๋ ๊ฒ์ ์ด๋ป๊ฒ ์ ์ ์์ต๋๊น? ํ์์ ๊ฒฝ์ฐ ์ฌ์ฉ์๋ "๋๋ foo๊ฐ ๊ฑฐ๊ธฐ์ ์๋์ง ํ์ธํ๊ณ ์ถ์ต๋๋ค"๋ผ๊ณ ์ด๋ป๊ฒ ๋งํฉ๋๊น? ์ข์์, ์ฌ์ฉ์๋ pip list --outdated
ํ๊ณ foo 2.0์ด ์กด์ฌํ๋์ง ํ์ธํ๊ณ pip install foo
๋ฅผ ํ ์ ์์ต๋๋ค. ๋๋ pip install??? ์ ๊ฒฝ์ฐ์ง ๋ง์...) ๊ทธ๋ฆฌ๊ณ ์ฑ๊ณตํ์ง๋ง 1.0์ด ์ค์น๋ ์ํ๋ก ๋จ์ ์์ต๋๊น?
๋ด๊ฐ ๋ ๊ฐ์ง ๋ช ๋ น์ ์ ํธํ๋ ํ ๊ฐ์ง ์ด์ ๋ ์ฌ์ฉ์์ ์๋๊ฐ ์์ ํ ๋ช ํํ๊ธฐ ๋๋ฌธ์ ์ฌ์ฉ์์ ๊ธฐ๋์น๋ฅผ ์๊ณ ์๊ธฐ ๋๋ฌธ์ ์ด์ ๊ฐ์ ๊ทน๋จ์ ์ธ ๊ฒฝ์ฐ๋ฅผ ์ฌ๋ฐ๋ฅด๊ฒ ์ฒ๋ฆฌํ ์ ์๊ธฐ ๋๋ฌธ์ ๋๋ค.
apt-get์ ์ต์ํ๋ค๋ฉด ์ด ๋ชจ๋ ๊ฒ์ด ๋ถ๋ช ํ ๊ฒ์ ๋๋ค. ํ์ง๋ง ๋์ฒ๋ผ ๊ทธ๋ ์ง ์์ ์ฌ๋์๊ฒ๋ ๊ทธ๊ฒ์ด ์ ํ ๋ช ํํ์ง ์๋ค๊ณ ํ์คํ ๋งํ ์ ์์ต๋๋ค.
pip install์ด ์ ๊ทธ๋ ์ด๋๋ฅผ ๊ฑฐ๋ถํ๋๋ก ์ฃผ์ฅํ๊ณ ์ถ๋ค๋ฉด ๋ฉ์ง์ง๋ง ๊ด์ฑ๋ฟ๋ง ์๋๋ผ ์ค์ ์ฅ์ ์ ๋ํ ์ฃผ์ฅ์ ๋ณด๋ ๊ฒ์ด ํจ์ฌ ๋ซ์ต๋๋ค.
๋ด ์ฃผ์ฅ์ ๋ฌต์์ ์ด๊ธฐ๋ณด๋ค๋ ๋ช ์์ ์ด๋ค. ๊ฐ์ฅ ํ์คํ _not_ "์ฐ๋ฆฌ๋ ํญ์ ์ด๋ฐ ์์ผ๋ก ํด์์ต๋๋ค". ์ ์ ํ ์ฌ์ฉ์๊ฐ "์ ๊ทธ๋ ์ด๋ ๊ฐ๋ฅ"์ ์๋ฏธํ๋ "์ค์น"์ ์ฌ์ฉ๋๋ค๋ ์์ด๋์ด์๋ ๋ฌธ์ ๊ฐ ์์ต๋๋ค. ๋ค๋ฅธ ์ฌ์ฉ์๋ค๋ ๊ทธ๋ด์ง๋ ์ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค.
ํ ๊ฐ์ง ์๊ฐ - apt์๋ "ํจํค์ง๊ฐ ์ด๋ฏธ ์กด์ฌํฉ๋๋ค - ์ ๊ทธ๋ ์ด๋?"๊ฐ ์์ต๋๊น? ์ฆ๊ฐ์ ์ธ? ์ ๊ทธ๋ ์ด๋๋ก ์ค์นํ๋ ๊ฒ์ด "์ ๊ทธ๋ ์ด๋๋ฅผ ํด์ผ ํ๋ ๊ฒฝ์ฐ ์ค์น ๋๋ ์์ฒญ"์ธ ๊ฒฝ์ฐ์๋ ๊ทธ๋ค์ง ๋๋์ง ์๋ค๊ณ ์์ํ ์ ์์ต๋๋ค. ๋ฌผ๋ก pip๋ ํ์ฌ ๊ทธ๋ฐ ์์ผ๋ก ๋ํ์์ผ๋ก ์๋ํ์ง ์์ง๋ง ๋ถ๋ช ํ ๊ทธ๋ ๊ฒ ํ๋ ๊ฒ์ ์ต์ ์ ๋๋ค.
๊ทธ๊ฒ์ ํฅ๋ฏธ๋ก์ด ์ง๋ฌธ์ ๋๋ค. ๋ค๋ฅธ ํจํค์ง ๊ด๋ฆฌ์๋ ์ค์ ๋ก ๋ฐ์ด๋๋ฆฌ ํจํค์ง๊ฐ ์ ํ ์์ด ์์ค๋ณ๋ก _ํญ์_์ด๊ฑฐ๋ ๋ฐ์ด๋๋ฆฌ ํจํค์ง๋ง ์ฒ๋ฆฌํ์ฌ _ํญ์_ ๋ฐ์ด๋๋ฆฌ๊ฐ ๋๋ ๋ฐฉ์์ผ๋ก ๋๋ถ๋ถ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํฉ๋๋ค. ์ฐ๋ฆฌ๋ ๊ทธ ์ฌ์ด์ ์ผ์ข ์ ์ด์ํ ์ํฉ์ ์ฒํด ์์ด ๋ ์ด๋ ต๊ฒ ๋ง๋ญ๋๋ค.
์ด๋ฅผ ๊ฐ์ํ ๋ ๊ธฐ๋ณธ์ ์ผ๋ก ํ์ฌ๋ก์๋ numpy 1.11 ์์ค ํจํค์ง๋ฅผ ํ๋ค์ดํ์ฌ ์ค์น๋ฅผ ์๋ํด์ผ ํ์ง๋ง --only-binary
์ง์ ํ๋ค๋ฉด ๊ฐ์์ ๋ฆฌ์กธ๋ฒ(์ฐ๋ฆฌ๊ฐ ์ ์คํ ํ์๋ก ํ๋ SAT ๋ค์ ์ถ์ ๋๋ ๋ฌด์์ด๋ ) ๋๋ ๊ทธ ๋ณผ ๊ฒ์
๋๋ค foo-2.0
ํด์ ๊ฐ๋ฅํ ์ค์นํ์ง ์๊ณ ๋ค์ ์ค์น๋ฅผ ๋ค์ ๋จ์ด์ง ๊ฒ์ด๋ค foo-1.0
. ์ด๊ฒ์ ํนํ ์ปดํ์ผ์ด _ํจ์ฌ_ ์ด๋ ค์ด Windows ์ฌ์ฉ์์๊ฒ ์ข์ ๊ธฐ๋ณธ๊ฐ์ ์๋์ง๋ง ์ค๋๋ ์ ํ์ค์ ๋ฐ์ํ๋ค๊ณ ์๊ฐํฉ๋๋ค.
์ฆ, ๋ด๊ฐ ์ ๋ง๋ก ํ๊ณ ์ถ์ ํ ๊ฐ์ง๋ pip์ ๋์์ ๋ค์ ๋ณ๊ฒฝํ ์ ์๋ ์ธ์์ ํฅํด ์๋ํ๊ณ ๋ฐ์ด๋ถ์ด๊ธฐ ์์ํ์ฌ ๊ธฐ๋ณธ์ ์ผ๋ก ๋ฐ์ด๋๋ฆฌ ์ ์ฉ์ด ๋ ์ ์๊ณ ์์ค ๋ฆด๋ฆฌ์ค์ ๋ํ ์ตํธ์ธ์ด ํ์ํ๋๋ก ํ๋ ๊ฒ์ ๋๋ค. ํ์ง๋ง ์ ๋ ์์ง ์ฐ๋ฆฌ๊ฐ ๊ทธ๋ ๊ฒ ํ ์ ์๋ ์์น์ ์๋ค๊ณ ์๊ฐํ์ง ๋ง์ญ์์ค.
@pfmoore : ๋ฐ์ด๋๋ฆฌ ๋ ์์ค ์ค์น์ ๋ฌธ์ ๊ฐ ๋ค์ ์ง๊ตํ๋ค๊ณ ์๊ฐํฉ๋๊น? ์ ์ฉ pip upgrade
๋ช
๋ น์ ๋ํด ๋๊ฐ์ ์ง๋ฌธ์ด ๋ฐ์ํ๋ ๊ฒ ๊ฐ์ต๋๋ค. ๊ทธ๋์ ๊ทธ๊ฒ๋ค์ ์ฐ๋ฆฌ๊ฐ ํด๊ฒฐํด์ผ ํ๋ ์ค์ ๋ฌธ์ ์ด์ง๋ง ์
๊ทธ๋ ์ด๋์ ์ค์น๋ฅผ ๋ถํ ํ์ฌ ๋ฌธ์ ๋ฅผ ๋จ์ํํ๊ธฐ๋ณด๋ค๋ ์ด๋ฆฌ์ ๋ฆฌ ์ฎ๊ธฐ๊ธฐ๋ง ํ๋ฉด ๋ ๊น์? ๋ํ numpy์ ๊ฒฝ์ฐ ์ด์ ๊ธฐ๋ณธ์ ์ผ๋ก ์ง์ํ๋ ๋ชจ๋ ํ๋ซํผ์ ๋ํ ํ ์ ์ ๊ณตํฉ๋๋ค :-).
๊ทธ๋ฌ๋ pip install foo
๋ํด ์ด๋ฌํ ๋ฌธ์ ๋ฅผ ์ฒ๋ฆฌํ๋ ๋ฐฉ๋ฒ์ ์ ์ํฉ๋๋ค(ํนํ ์ด ๋ช
๋ น -- pip install foo==whatever
๋๋ pip install ./foo-*.whl
๋๋ pip install bar
๋ํด ๋งํ๋ ๊ฒ์ด ์๋๋๋ค. ์ฌ๊ธฐ์ bar
์๋ Requires-Dist: foo
):
1) ์ธ๋ฑ์ค๋ฅผ ์ฟผ๋ฆฌํ์ฌ foo
์ ์ต์ ํ๋ณด ๋ฒ์ ์ ์ฐพ์ต๋๋ค. ์ด๊ฒ์ $LATEST
ํฉ๋๋ค. ํ๋ณด ๋ฒ์ ์ด ์์ผ๋ฉด ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.
2) $LATEST
๊ฐ ์ด๋ฏธ ์ค์น๋์ด ์์ผ๋ฉด ์ฑ๊ณต์ ์ผ๋ก ์๋ฃํฉ๋๋ค.
3) ํ์ฌ ํ๊ฒฝ์ ์ค์นํ ์ ์๋ $LATEST
์ ๋ฐฐํฌํ์ด ์๋์ง ํ์ธํฉ๋๋ค. (์์ ์ ์๋ ์ด์ ์ ์: ๋ฐํด๋ง ์๊ณ sdist๊ฐ ์๊ณ ๋ฐํด๊ฐ ํ์ฌ ํ๊ฒฝ๊ณผ ์ผ์นํ์ง ์์ต๋๋ค. ์ผ์นํ๋ ๋ฐํด๊ฐ ์๊ณ sdist๊ฐ ์์ง๋ง ์ฌ์ฉ์๊ฐ --binary-only :all:
๋ฅผ ์ ๋ฌ
4) $LATEST
์ ์คํ ๊ฐ๋ฅํ ๋ฐฐํฌ๊ฐ _์์ผ๋ฉด_: ์ฌ์ฉ์์๊ฒ ์ ๋ฒ์ ์ ์ฌ์ฉํ ์ ์์ง๋ง ์ฌ์ฉ์ ํ๊ฒฝ์ ์ ํฉํ์ง ์์์ ์๋ฆฌ๋ ๊ฒฝ๊ณ ๋ฅผ ๋ฐํํฉ๋๋ค. ์ ๋ฒ์ ์ ์ํฉ๋๋ค(์: "ipython 6.0.1์ ์ฌ์ฉํ ์ ์์ง๋ง python >= 3.4๊ฐ ํ์ํ๊ณ python 2.7์ด ์์ต๋๋ค -- python ์
๊ทธ๋ ์ด๋๋ฅผ ๊ณ ๋ คํ์ญ์์ค" ๋๋ "numpy 1.12๋ฅผ ์ฌ์ฉํ ์ ์์ง๋ง ppc64์ฉ ๋ฐ์ด๋๋ฆฌ๊ฐ ์๊ณ ์์ค์์ ๋น๋ ๋นํ์ฑํ -- --allow-source numpy
๊ณ ๋ ค) ๊ทธ๋ฐ ๋ค์ ํ๋ณด ๋ฒ์ ๋ชฉ๋ก์์ $LATEST
์ ๊ฑฐํ๊ณ 1๋จ๊ณ๋ก ์ด๋ํฉ๋๋ค.
5) $LATEST
_does_์ ์คํ ๊ฐ๋ฅํ ๋ฐฐํฌ๊ฐ ์์ผ๋ฉด ์ด ๋ฐฐํฌ๋ฅผ ์ค์นํด ๋ณด์ญ์์ค.
6) ์ค์น์ ์คํจํ๋ฉด(์: b/c๋ sdist์ด๊ณ ์ปดํ์ผ๋ฌ๊ฐ ์์) ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค. ๊ทธ๋ ์ง ์์ผ๋ฉด ์ฑ๊ณต์ ์ผ๋ก ์๋ฃํ์ญ์์ค.
@njsmith ๋ฐ์ด๋๋ฆฌ ์ ์ฉ์ ์ด๋ ์ ๋ ์ง๊ต์ ์ด๋ผ๋ ๋ฐ ๋์ํ์ง๋ง "์ฌ์ฉ์๊ฐ ๊ธฐ๋ํ๋ ๋๋ก ์ํ"ํ๋ ๋ช ๋ น์ ์ค๊ณํ๋ ค๋ ๊ฒฝ์ฐ IMO๋ฅผ ๋์์ ์ฌ๋ฐ๋ฅด๊ฒ ์ํํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค.
@dstufft "์ฌ์ฉ์๊ฐ --binary-only
๊ฐ ๋ด ์ด์ ์์ฌ์ ๊ฒ์๋ฌผ์ ์์์ ์ค๋ช
๋์๋ค๊ณ ๋งํ์ง ์๋ ํ numpy๋ฅผ ์ค์นํ๋ ๋ฌธ์ - (1) foo๋ ์์ค ํ์์ผ๋ก๋ง ์ฌ์ฉํ ์ ์๋ค๊ณ ๋งํ๊ณ (2) ์ฌ์ฉ์๋ (๊ทธ๋ฆฌ๊ณ ์ค์ ๋ก ๊ทธ๋ด ํ์๋ ์์ต๋๋ค) foo๊ฐ numpy์ ์์กดํ๋ค๋ ๊ฒ์ ์๋ฉด ์ฌ์ฉ์๋ --only-binary :all:
๋ผ๊ณ ๋งํ ์ ์์ผ๋ฉฐ _after_ a (long) ์ปดํ์ผ์ด ์คํจํ ๋๊น์ง --only-binary numpy
๊ฐ ํ์ํ๋ค๋ ๊ฒ์ ๋ชจ๋ฆ
๋๋ค.๋๋ (์ฌ์ ํ ๋ ๋์ ์ ์์) ์ฌ์ฉ์์๊ฒ ์ต์ ํ๋์ง ์์ numpy๋ฅผ ๋จ๊ธฐ๋ ์ฑ๊ณต์ ์ธ ์ปดํ์ผ(์์ฆ numpy๋ Windows์์ ๊ธฐ๋ณธ์ ์ผ๋ก ์ปดํ์ผ๋์ง๋ง ์ต์ ํ๋์ง ์์ ๋น๋๋ฅผ ์ ๊ณตํฉ๋๋ค).
์ฅ๊ธฐ์ ์ผ๋ก ๋ฐ์ด๋๋ฆฌ ์ ์ฉ์ผ๋ก ๊ธฐ๋ณธ ์ค์ ํด์ผ ํ๋ค๋ ์ ์๋ ์ ์ ์ผ๋ก ๋์ํ์ง๋ง ์์ง๊น์ง๋ ๊ทธ ์์ค์ ๊ฐ๊น์ง ์์ต๋๋ค(์ต์ํ ๊ฑฐ์ ๋ชจ๋ ์์ Python ํจํค์ง๋ฅผ ํ ๋ก ์ฌ์ฉํ ์ ์์์ ์๋ฏธํด์ผ ํจ).
@pradyunsg ๋ณด์๋ค์ํผ ์์ง ํด๊ฒฐ๋์ง ์์ ๋ฌธ์ ๊ฐ ๋ง์ต๋๋ค. ๋น์ ์ ์์ง๋ ์ด๊ฒ์ ๊ณ์ํ๋ ๋ฐ ๊ด์ฌ์ด ์์ต๋๊น? ๋๋ ๊ทธ๊ฒ์ด ๋ค์ ์ค๋จ๋๋ค๋ฉด ๋ ๋ค๋ฅธ ๊ธด ํ ๋ก ์ ์์ํ๊ธฐ๋ฅผ ๊บผ๋ฆฝ๋๋ค...
@pradyunsg ๋ณด์๋ค์ํผ ์์ง ํด๊ฒฐ๋์ง ์์ ๋ฌธ์ ๊ฐ ๋ง์ต๋๋ค. ๋น์ ์ ์์ง๋ ์ด๊ฒ์ ๊ณ์ํ๋ ๋ฐ ๊ด์ฌ์ด ์์ต๋๊น? ๋๋ ๊ทธ๊ฒ์ด ๋ค์ ์ค๋จ๋๋ค๋ฉด ๋ ๋ค๋ฅธ ๊ธด ํ ๋ก ์ ์์ํ๊ธฐ๋ฅผ ๊บผ๋ฆฝ๋๋ค...
์์ ๊ฒ์ผ๋ก ์์ํ์ต๋๋ค. ๋๋ ์ด๊ฒ์ ๋ฐ์ ์ํค๋ ๋ฐ ๊ด์ฌ์ด ์์ต๋๋ค. ํด๋ณด์! :์๋ค:
๋๋ _user_๊ฐ pip๊ฐ ํ๊ธฐ๋ฅผ ์ํ๋ ๋ชจ๋ ๋ชฉ๋ก์ ์์งํ ๋ค์ ๋ชจ๋ (๋๋ ์ถฉ๋ถํ ์)์ด pip ๋ช ๋ น(์ต์ /๊ธฐ๋ณธ๊ฐ ํฌํจ)์ผ๋ก ํด๊ฒฐ๋๊ฑฐ๋ ๋ค์์ผ๋ก ์ฒ๋ฆฌํ ์ ์์ ๋๊น์ง ๊ฐ๊ฐ์ ๋ํ ์๋ฃจ์ ์ ์ ์ํ๋ ๊ฒ์ด ์ข์ต๋๋ค. "์กฐ์น ์์".
์ผ์ ์์ํ๊ธฐ ์ํด ๋ค์์ ๋ถ์์ ํ ๊ฐ๋ฅ์ฑ์ด ๋์ ๋ชฉ๋ก์ ๋๋ค.
์ด์ ๋ํ ๋ด ๊ฐ์ธ์ ์ธ ์ ์์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
1) & 7) pip install foo
๋ ์ฌ์ฉ ๊ฐ๋ฅํ ์ต์ ๋ฒ์ (์ข
์์ฑ ๊ณ ๋ ค)์ผ๋ก ํ์ธํ๊ณ ์ค์นํด์ผ ํฉ๋๋ค. ์๊ณ ๋ฆฌ์ฆ์ @njsmith ์ ๊ฒ์
๋๋ค.
2) pip install foo
โ foo๊ฐ ์ด๋ฏธ ์ค์น๋์ด ์๋ค๋ ๊ฒฝ๊ณ ๋ฅผ ํ์ํ๊ณ pip upgrade foo
์ฌ์ฉ์ ์ ์ํฉ๋๋ค.
3) & 7) pip upgrade foo
๋ ๋ค์ @njsmith ์ ์๊ณ ๋ฆฌ์ฆ์ ๋ฐ๋ผ ์ฌ์ฉ ๊ฐ๋ฅํ ์ต์ ๋ฒ์ ์ foo๋ฅผ ์ค์นํ๋ ค๊ณ ์๋ํฉ๋๋ค. ํ๋ซํผ์์ ์ฌ์ฉํ ์ ์๊ณ sdist๊ฐ ์๊ฑฐ๋ ์ฌ์ฉ์๊ฐ ์์ค์์ ๋น๋ํ๊ธฐ๋ฅผ ์ํ์ง ์๊ธฐ ๋๋ฌธ์ ์ต์ ๋ฒ์ ์ ์ค์นํ ์ ์๋ ๊ฒฝ์ฐ ์ด๋ฅผ ํ์ํ์ญ์์ค. ๋ ๊ฒฝ์ฐ ๋ชจ๋ ์ฑ๊ณตํ๊ณ ์ค์น ์์ฒด๊ฐ ์คํจํ ๊ฒฝ์ฐ์๋ง ์คํจํฉ๋๋ค.
4) pip upgrade foo
ํจํค์ง๊ฐ ์ค์น๋์ด ์์ง ์์ผ๋ฉด ์คํจํฉ๋๋ค.
5) pip install-uprade foo
๋๋ pip install foo --ensure-latest
๋๋ pip install foo --upgrade
(๊ธฐ๋ณธ์ ์ผ๋ก ๋น ์ด๋ง์ ์ ์ธํ๊ณ ํ์ฌ์ ๋์ผ).
7) ๋ชจ๋ ์์
์ ์ด๋ง์ด ์๋์ด์ผ ํ๋ฉฐ install --upgrade
์ ์ด์ ๊ธฐ๋ฅ์ ๊ฐ์ ธ์ค๊ธฐ ์ํด --eager
ํ๋๊ทธ๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ข
์์ฑ์ด ์์ง ์ค์น๋์ง ์์ ๊ฒฝ์ฐ ์ต์ ๋ฒ์ ์ ์ค์นํ์ญ์์ค. ์ด๋ฏธ ๋ง์กฑํ๋ค๋ฉด ์๋ฌด ๊ฒ๋ ํ์ง ๋ง์ญ์์ค. ๋ง์กฑํ์ง ์์ผ๋ฉด ์ฌ์ ํ ๋ง์กฑํ๋ ์ต์ ๋ฒ์ ์ ์ค์นํ์ญ์์ค(์ํ ์๊ตฌ ์ฌํญ์ ๊ฒฝ์ฐ).
8) pip upgrade foo --allow-source
๋๋ pip upgrade foo --allow-source numpy
, foo๊ฐ ๋ฐ์ด๋๋ฆฌ๊ฐ ์๋ numpy ๋ฆด๋ฆฌ์ค์ ์์กดํ๋ ๊ฒฝ์ฐ. ํธ์ง: ์ด๊ฒ์ด ์ ์ฉ ๊ฐ๋ฅํ์ง ๋ชจ๋ฅด๊ฒ ์ต๋๋ค. ์๋ ์ฃผ์์ ์ฐธ์กฐํ์ญ์์ค.
์์ ๋กญ๊ฒ ๋ชฉ๋ก์ ํ์ฅํ๊ณ ์์ ์ ์ ์์ ๊ฒ์ํ์ญ์์ค.
@pfmoore ๊ทธ๋๋ ๋์์ด ๋ฌด์์ธ์ง ์ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค. ์ค๋๋ ์ธ๊ณ์ ์ํฉ์ ๋ฐํด๊ฐ ์ ์ ๋ ์๋ฆฌ๋ฅผ ์ก์๊ฐ๊ณ ์์ง๋ง ์ ๋น์ฟผํฐ์ค์ ๊ฐ๊น์ด ๊ณณ์ด ์๋๊ธฐ ๋๋ฌธ์ ์ง๊ธ ๋น์ฅ์ ๊ธฐ๋ณธ์ ์ผ๋ก ์์ค ๋ฆด๋ฆฌ์ค๋ฅผ ํ์ฉํ์ง ์๋ ์ข์ ์ต์ ์ด ์๋์ง ํ์ ํ ์ ์์ต๋๋ค.
@dstufft ๋ด ์ ์์ ๋ช ์์ ์ผ๋ก ๋ช ๋ช ๋ ํจํค์ง์ ๋ํ ์์ค๋ฅผ ํ์ฉํ์ง๋ง ๊ธฐ๋ณธ์ ์ผ๋ก ์ข ์์ฑ์ ๋ํด์๋ ๋ฐ์ด๋๋ฆฌ๋ง ํ์ฉํ๋ ๊ฒ์ด์์ต๋๋ค. ๊ทธ๋ ๊ฒ ํ๋ฉด ์ฌ์ฉ์๋ "๋๋ผ์ด" ๋น๋ ๋จ๊ณ๋ฅผ ์ํํ์ง ์์ต๋๋ค. ๋ฌผ๋ก ํํ์ด์ง๋ง ํ์ฌ ์๋์ผ๋ก ์ํํด์ผ ํ๋ ์์ ์ ๋ฐ์ํฉ๋๋ค.
@FichteFoll ๋ฌด์๋ณด๋ค๋ ๋ด ์ฃผ์ ์ฌ์ฉ ์ฌ๋ก๋ "๋ชจ๋ ์ ๊ทธ๋ ์ด๋" ๊ธฐ๋ฅ์ ๋๋ค. ํ์ฌ ์ค์น๋ ๋ชจ๋ ํญ๋ชฉ์ ์ฐพ๊ณ ์ฌ์ฉ ๊ฐ๋ฅํ ์ต์ ๋ฒ์ ์ด ์์ผ๋ฉด ์ ๊ทธ๋ ์ด๋ํ์ญ์์ค.
๋ด๊ฐ ์ค์นํ ํจํค์ง์๋ ์ผ๋ฐ์ ์ผ๋ก ">=" ์ข
์์ฑ ์ด์ธ์ ๋ค๋ฅธ ๊ฒ์ด ์์ผ๋ฏ๋ก(๋๋ถ๋ถ์ด ์ข
์์ฑ์ด ์์) ์ฌ๊ธฐ์๋ ๋ณต์กํ ๊ฒ์ด ์์ต๋๋ค. ๊ทธ๋ฅ ์ต์ ๋ฒ์ ์ ์ก์. ๊ฐ์ฅ ํฐ ์ ํ ์ฌํญ์ ๋น๋ํ ์ ์๋ ํจํค์ง(numpy, scipy, lxml, pyyaml, matplotlib, pyqt)๊ฐ ์๋ค๋ ๊ฒ์ด๋ฏ๋ก ํด๋น ํจํค์ง์ ๋ํ ๋ฐ์ด๋๋ฆฌ๋ง ํ์ํฉ๋๋ค. ๋ด pip.ini
์ --only-binary <these>
๋ฅผ ๋ฃ์ ์ ์์ต๋๋ค. (๋๋ ์ต์ํ...)
๋ณด์กฐ: XXX ํจํค์ง(์ต์ ๋ฒ์ )์ ํจ๊ป ๋ด๊ฐ ์์ง ๊ฐ์ง๊ณ ์์ง ์์ ์ข ์์ฑ์ ๋ชจ๋ ์ค์นํฉ๋๋ค. ์ ํจํค์ง์ ์ ์ฝ ์กฐ๊ฑด์ ์ถฉ์กฑํ๋ ๊ฒฝ์ฐ ์ด๋ฏธ ์๋ ์ข ์์ฑ์ ์ ๊ทธ๋ ์ด๋ํ์ง ๋ง์ญ์์ค. ๋๋ ํ์ฌ XXX๊ฐ ์๋ค๋ ๊ฒ์ ํญ์ ์๊ณ ์์ต๋๋ค.
3์ฐจ: ๋ด๊ฐ (๋ด๊ฐ ์๊ณ ์์) ์ค์นํ ๋จ์ผ ํจํค์ง XXX๋ฅผ ์
๊ทธ๋ ์ด๋ํฉ๋๋ค. ์ข
์์ฑ ์ ์ฝ ์กฐ๊ฑด์ ์ ์งํด์ผ ํ๋ ๊ฒฝ์ฐ๊ฐ ์๋๋ฉด ๋ค๋ฅธ ํจํค์ง๋ฅผ ๋ณ๊ฒฝํ์ง ๋ง์ญ์์ค(์ฌ์ง์ด ์ด๋ก ์์
๋๋ค. ์ค์ ์ํฉ์ ์ง๋ฉดํ ์ ์ด ์์ผ๋ฏ๋ก ๋์๊ฒ ๊ฐ์ฅ ์ ํฉํ ํด๊ฒฐ ๋ฐฉ๋ฒ์ด ๋ฌด์์ธ์ง ๋ชจ๋ฅด๊ฒ ์ต๋๋ค). ๋ด ์๋๋ ํญ์ "์ต์ ๋ฒ์ ์ผ๋ก ์
๊ทธ๋ ์ด๋"์
๋๋ค. ์ด๊ฒ์ด ์ด๋ฏธ ์ค์น๋ ํจํค์ง์ ์ข
์์ฑ์ ๊นจ๋จ๋ฆฌ๋ ์ํฉ์ ๋ณธ ์ ์ด ์์ต๋๋ค. ๊ทธ๋ ๋ค๋ฉด _์๊ฐ__ ์ต์ ๋ฒ์ ์ ๋ฐ์ง ๋ชปํ๋ค๋ ๊ฒฝ๊ณ ์ ํจ๊ป ์์ฉ ๊ฐ๋ฅํ ์ต์ ๋ฒ์ ์ผ๋ก์ ์
๊ทธ๋ ์ด๋๊ฐ ํ์ํฉ๋๋ค. ๋ด ์๊ฐ์ ์ด ์ํฉ์ ํ์ฌ pip install -U
๋์ง๋ง ์ข
์์ฑ์ ๋ํ ๋์์ ๋ด๊ฐ ์ํ๋ ๊ฒ์ด ์๋๋๋ค. ๋ด๊ฐ ์ด๋ ๊ฒ ํ๋ ์ฃผ๋ ์ด์ ๋ ํ์ฌ ์ ์ ํ "๋ชจ๋ ์
๊ทธ๋ ์ด๋"๊ฐ ์๊ธฐ ๋๋ฌธ์
๋๋ค(๋๋ ์๋ก์ด "๋ชจ๋ ์
๊ทธ๋ ์ด๋" ๋ช
๋ น์ด ๋ด๊ฐ ์ํ๋ ๋๋ก ์๋ํ์ง ์๋ ๊ฒฝ์ฐ๋ฅผ ์ฒ๋ฆฌํ๊ธฐ ์ํด).
์์กด์ฑ๊ณผ ์ ์ฝ์ ๋ํ ๋ชจ๋ ๋
ผ์๋ ๋ด ๊ฒฝํ์ ๊ฑฐ์ ์ ์ ์ผ๋ก ์ด๋ก ์ ์ธ ๊ฒ์
๋๋ค. ํ์ฌ ๋ด ์์คํ
Python(๊ณผํ, ๋ฐ์ดํฐ ๋ถ์, ์น ๋ฐ ์ผ๋ฐ ํ๋ก๊ทธ๋๋ฐ ๋ชจ๋์ ํผํฉ)์ 160๊ฐ์ ํจํค์ง๊ฐ ์ค์น๋์ด ์์ต๋๋ค. ๊ทธ ์ค 100๊ฐ๋ ์๊ตฌ ์ฌํญ์ด ์์ต๋๋ค. ๋๋จธ์ง๋ ํจํค์ง ๋ชฉ๋ก๋ณด๋ค ๋ ๋ณต์กํ ๊ฒ์ด ์์ต๋๋ค. ๋ฒ์ ์ ์ฝ์ด ์๊ฑฐ๋ Requires: six, dask, pillow, networkx
๋ณด๋ค ๋ ๋ณต์กํ ๊ฒ์ด ์์ต๋๋ค. ๊ฐ์ฅ ๊ธด ์ข
์์ฑ ๋ชฉ๋ก์๋ 9๊ฐ์ ํญ๋ชฉ์ด ์์ต๋๋ค.
@pfmoore ๋ง์ ๊ฒ์ ๊นจ๋จ๋ฆฌ๋ ๊ฒ ์๋๊ฐ์? ๋ด๊ฐ ์๊ณ ์๋ ๋งค์ฐ ์ธ๊ธฐ ์๋ ํจํค์ง๋ ๋ค์๊ณผ ๊ฐ์ ์ฌํญ์ ๋ฐ๋ผ ๋จธ๋ฆฌ ์๋ก ๋ ์ค๋ฅผ ์ ์๋ ๋น ๋ฅธ ๋ชฉ๋ก์ ๋๋ค.
๋ฑ๋ฑ, ๊ฐ์ฅ ์ธ๊ธฐ ์๋ ํจํค์ง์ ๊ธด ๋ชฉ๋ก๊ณผ ์ฌ๊ธฐ์ ๋ฐํด๊ฐ ์๋์ง ์ฌ๋ถ๋ฅผ http://pythonwheels.com/์์ ๋ณผ ์ ์์ต๋๋ค.
@pf๋ฌด์ด
ํ์ฌ ์ค์น๋ ๋ชจ๋ ํญ๋ชฉ์ ์ฐพ๊ณ ์ฌ์ฉ ๊ฐ๋ฅํ ์ต์ ๋ฒ์ ์ด ์์ผ๋ฉด ์ ๊ทธ๋ ์ด๋ํ์ญ์์ค.
์ผ๋ง ์ ์ ํ์ฌ ์ฌ์ฉํ๊ณ ์๋ SO ์ง๋ฌธ์์ ์ด ๋ช
๋ น์ ์ ๊ณตํ์ต๋๋ค. ์ฐจ์ ์ฑ
์ด์ง๋ง ํ๋๋ฅผ ์ ์ธํ ๋๋ถ๋ถ์ ํจํค์ง์์ ์๋ํฉ๋๋ค. (์ ๋ Windows๋ฅผ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ py
๋ฐ์ฒ๋ฅผ ์ฌ์ฉํฉ๋๋ค.)
pip list -o | cut -d " " -f 1 | xargs -n1 py -m pip install -U
์ด์ ๋ด๊ฐ ๊ฐ์ง ํ ๊ฐ์ง ๋ฌธ์ ๋ ๋ค์ ์๊ตฌ ์ฌํญ์ด ์๋ flake8 ํจํค์ง์ ๋๋ค.
Requires-Dist: pyflakes (>=0.8.1,<1.1)
Requires-Dist: pep8 (>=1.5.7,!=1.6.0,!=1.6.1,!=1.6.2)
Requires-Dist: mccabe (>=0.2.1,<0.5)
ํนํ pyflakes๋ ์ต์ ๋ฒ์ ์ ์ฌ์ฉํ ์ ์๊ณ ์์ ๋ช
๋ น์ผ๋ก ์
๋ฐ์ดํธ๋์ด flake8์ด (๋ฒ์ ์ ํ์ธํ๊ธฐ ๋๋ฌธ์) ์๋ฌด ์์
๋ ์ํํ์ง ๋ชปํ๊ฒ ํ๊ธฐ ๋๋ฌธ์ ๋ฌธ์ ์
๋๋ค.
๋ฐ๋ผ์ ์ด๊ฒ์ ์ค์ ๋ก ๊ณ ๋ คํด์ผ ํ ์ฌํญ์ด๋ฉฐ ์ ์ ํ ๋ชจ๋ ์
๊ทธ๋ ์ด๋ ๊ธฐ๋ฅ(์๊ตฌ ์ฌํญ์ ์๋ฐํ์ง ์๊ณ !)์ ๊ฐ๊ณ ์ถ์ต๋๋ค.
@dstufft ์? foo๊ฐ pyyaml์ ์์กดํ๊ณ foo๋ฅผ ์ ๊ทธ๋ ์ด๋ํ๋๋ก ์์ฒญํ๋ฉด pyyaml์ด ์ ๊ทธ๋ ์ด๋๋์ง ์์ง๋ง(์ ๋ฐ์ด๋๋ฆฌ ์์) foo๋ ์ฌ์ ํ ์๋ pyyaml์ด ์๊ธฐ ๋๋ฌธ์ ์ ๊ทธ๋ ์ด๋ํ ์ ์์ต๋๋ค.
์๋ก์ด ์ข
์์ฑ์ ๊ฒฝ์ฐ(๋๋ ์ข
์์ฑ์ด ํญ์ ์กด์ฌํ์ง ์๋ ์ค์น ์) ์ค์นํด์ผ ํ๋ฏ๋ก ๋ฐ์ด๋๋ฆฌ๊ฐ ์์ผ๋ฉด ์์ค๋ฅผ ๊ฐ์ ธ์ต๋๋ค. ์ ๋ ๊ฐ์ธ์ ์ผ๋ก "์์ค๊ฐ ์๋ ์ต์ ๋ฒ์ ๋ณด๋ค ๋ฐ์ด๋๋ฆฌ๊ฐ ์๋ ์ด์ ๋ฒ์ ์ ํ"์ ๊ณ ๋ คํ๊ณ ์ถ์ง๋ง ์ด๋ ๊ธฐ๋ณธ์ ์ผ๋ก --binary-only
๊ฐ๊น์์ง๊ณ ์์ผ๋ฉฐ ์ด๋ ์ฐ๋ฆฌ๊ฐ ์ค๋น๋์ง ์์๋ค๋ ๋ฐ ๋์ํฉ๋๋ค.
ํ , ์ด์ฉ๋ฉด ๋ด๊ฐ ๊ฐ์ง ๋ฌธ์ ๋ ์ค์ ๋ก ๋๋ฌด ์กฐ์กํ --only-binary
์ต์
์ ์์ต๋๋ค. --prefer-binary
์ต์
์ด ์๋ ๊ฒฝ์ฐ "ํ๋ณด๊ฐ ์๋ค๋ ๊ฒ์ ์๋ฏธํ์ง ์๋ ํ ๋ฐ์ด๋๋ฆฌ๋ง ์ฌ์ฉํ์ญ์์ค. ์ด ๊ฒฝ์ฐ ์์ค ํ์ฉ์ ๋ค์ ์๋ํ์ญ์์ค." ์ํ๋ ์ ์์ต๋๋ค. @njsmith๊ฐ ์ ์ํ ๊ฒ์ฒ๋ผ, ๋ด๊ฐ ์ด์ ์ ๋ง์ถ๊ณ ์๋ ๋ฐ์ด๋๋ฆฌ/์์ค ๊ตฌ๋ณ์ด ์ด ํฐ์ผ๊ณผ ์ง๊ตํ ์ ์์์ ์๋ฏธํฉ๋๋ค(๋น๋ก ๋ด ์
์ฅ์ด " --only-binary
๋ณด๋ค ๋์ ๊ฒ์ด ์์ผ๋ฉด ๋ด ์๊ตฌ ์ฌํญ์ ๋ํ ๋ง์กฑ์ค๋ฌ์ด ์๋ฃจ์
์ด ์์ต๋๋ค.
ํนํ ํ์ด ํ๋ ์ดํฌ๊ฐ ๋ฌธ์ ์ ๋๋ค.
์ข์, ๊ทธ๊ฑด ๋ด๊ฐ ๊ฐ์ง ์ํฉ์ด ์๋๋ค. "ํ์๋์ง ์๋ ์ต์ ๋ฒ์ "์ผ๋ก ์ ๊ทธ๋ ์ด๋ํ๊ธฐ ์ํด "๋ชจ๋ ์ ๊ทธ๋ ์ด๋"๋ฅผ ์์ ํ๋ ๋ฐ ๋ฌธ์ ๊ฐ ์์ง๋ง ์ฌ๋ฐ๋ฅธ ์๋ฃจ์ ์ ํด๊ฒฐํ๊ธฐ ์ํด "SAT ์๋ฒ" ์ ๊ทผ ๋ฐฉ์์ด ํ์ํ AIUI๊ฐ ํ์ํฉ๋๋ค. ๊ทธ๊ฒ์ ๊ตฌํ ๋ฌธ์ ์ ๋๋ค. ๋์์ธ์ ์ค์ ๋ก ํญ์ ์ฌ๋ฐ๋ฅธ ๊ฒฐ๊ณผ๋ฅผ ์ ๊ณตํด์ผ ํฉ๋๋ค.
@pfmoore ์ด ํฐ์ผ์ ๊ฒฐ๊ณผ์ ๊ด๊ณ์์ด --prefer-binary
ํ๋๊ทธ๊ฐ ์ข์ ์ต์
์ด ๋ ์ ์๋ค๊ณ ์๊ฐํฉ๋๋ค. ๊ทธ๋ ์ง ์์ผ๋ฉด ์ค์น๋์์ ์ต์ ๋ฒ์ ์ ์ค์นํ์ง ์์ ๋ ๊ฒฝ๊ณ ์ ํจ๊ป ๋ฒ๋ค๋ก ์ ๊ณต๋ ์ ์์ต๋๋ค.
@FicheFoll : ์ฒซ ๋ฒ์งธ ์์น์์ ์ ์ฒด UI๋ฅผ ๋ค์ ํ์์ํค๋ ค๋ ์๋๊ฐ ๋งค์ฐ ์์ฐ์ ์ผ ๊ฒ์ด๋ผ๊ณ ์๊ฐํ์ง ์์ต๋๋ค. ์ด ํน์ ๋ฌธ์ ์ ๋ํ ์ฃผ์ ์ ๋ํด ๋น๊ต์ ๋ช ํํ๊ฒ ์ ์๋ ๋ฌธ์ ๋ถ๋ถ์ด ์์ผ๋ฉฐ, ๋ฒ์๋ฅผ ํ ๋ฒ์ ๋ชจ๋ ๊ฒ์ผ๋ก ํ์ฅํ๋ ค๊ณ ํ๋ฉด ๋ค์ ์๋ ์ ๋น ์ง ๊ฒ์ ๋๋ค.
๊ทธ ์ฃผ์ ์์ ์ฐ๋ฆฌ๊ฐ ๋ค๋ฅธ ํต์ฌ ์์น๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. ์ฌ์ฉ์๊ฐ pip install foo
๊ฐ ์ ๊ฑฐ๋ ์ํ์์ ์ค์น๋ ์ํ๋ก ์ ํํ๋ ๋ฐ๋ง ์ฌ์ฉ๋๋ ๋ฉํ ๋ชจ๋ธ์ด ์๊ณ foo
์ ์ดํดํ๊ณ ์๋ค๊ณ ๊ฐ์ ํฉ๋๋ค pip install foo
_๋ฅผ ์
๋ ฅํ์ง ์์ ๊ฒ์ด๋ผ๊ณ ์ฃผ์ฅํฉ๋๋ค. ๋ฐ๋ผ์ ์ด๋ค ์ฌ์ฉ์๊ฐ foo
๊ฐ ์ด๋ฏธ ์ค์น๋์ด ์์ ๋ pip install foo
_์
๋ ฅํ๋ฉด ๊ทธ๋ค์ ๋ฉํ ๋ชจ๋ธ์ด ๊ทํ์ (2)์ ๋ค๋ฅด๋ค๋ ๊ฒฐ๋ก ์ ๋ด๋ฆด ์ ์์ต๋๋ค. _์ด๋ ์ชฝ์ด๋ _ ์ฒซ ๋ฒ์งธ ๋ถ๋ถ์ด ์๋ชป๋์์ต๋๋ค. foo
๊ฐ ์ค์น๋์ด ์๊ณ pip๊ฐ ๋ค๋ฅธ ์ธ๊ธฐ ์๋ ํจํค์ง ๊ด๋ฆฌ์์ฒ๋ผ ์
๊ทธ๋ ์ด๋๋๊ธฐ๋ฅผ ๊ธฐ๋ํฉ๋๋ค. _๋๋_, ๋ ๋ฒ์งธ ๋ถ๋ถ์ ์๋ชป๋์์ต๋๋ค. foo
๊ฐ ์ค์น๋์๋ค๋ ์ฌ์ค์ ์ธ์ํ์ง ๋ชปํฉ๋๋ค , ์ด ๊ฒฝ์ฐ install
์์ ์ต์ ๋ฒ์ ์ผ๋ก ๋จ๊ฒจ๋ ๊ฒ์ผ๋ก ์์ํฉ๋๋ค(ํจํค์ง๊ฐ ์ค์น๋์ง ์์ ๊ฒฝ์ฐ ์ค์น๊ฐ ์ํํ๋ ์์
์ด๊ณ ์ด ํจํค์ง๊ฐ ์ค์น๋์ง ์์ ๊ฒ์ผ๋ก ์๊ฐํ๊ธฐ ๋๋ฌธ์
๋๋ค).
๊ธฐ๋ก์ ์ํด, ๋ด๊ฐ pip install ...
์ข์ํ์ง ์๋ ์ด์ ์ค ํ๋๋ ์ ๊ฑฐ๋ ์ํ์์ ์ค์น๋ ์ํ๋ก๋ง ์ด๋ํ๊ณ pip upgrade ...
๋ ์ค์น๋ ์ํ์์ ์ต์ ๋ฒ์ ์ผ๋ก๋ง ๊ฐ๋ ๊ฒฝ์ฐ๊ฐ ์๊ธฐ ๋๋ฌธ์
๋๋ค. ๊ฝค ์ง์ ๋ถํ ๊ฒฝํ. ์ํ๋ ๊ฒ์ ์๊ณ ์์ง๋ง ๊ทธ ์ผ์ ํ๋ ๋์ ๋ค๋ฅธ ๋ช
๋ น์ ํธ์ถํ๋ผ๋ ์ํํธ์จ์ด๋ ์์ฒญ๋๊ฒ ์ค๋ง์ค๋ฝ์ต๋๋ค.
$ pip install foobar
I'm sorry, but foobar is already installed, you want to run ``pip upgrade foobar``
$ pip upgrade foobar
...
๊ทธ๊ฒ์ด ๊ธฐ์ ์ ์ผ๋ก "์ฌ๋ฐ๋ฅธ" ๊ฒ์ด๋๋ผ๋ ๋๋ฅผ ์ฑ๊ฐ์๊ฒ ํ๋ ๊ฒ ์ธ์๋ ์๋ฌด ๊ฒ๋ ํ์ง ์์ ๊ฒ์ ๋๋ค.
๋ฐ๋๋ก "์ข์, pip install foobar
์ด๋ฏธ foobar
์ค์น๋์ด ์์ผ๋ฉด ์ค์น๋์ง ์์ ๊ฒ์ฒ๋ผ ์๋ํ๊ณ pip upgrade foobar
๋ฅผ ์ค์นํ๋ฉด ์ด๋ฏธ ์ค์น๋ ๊ฒ์ฒ๋ผ ์๋ํ๊ณ ๊ธฐ๋ณธ์ ์ผ๋ก ๋์ผํ ์์
์ ์ํํ๋ ๋ ๊ฐ์ ๋ช
๋ น์ผ๋ก ๋๋ฉ๋๋ค. _์๋ง๋_ ์ ํํ ์ฒ๋ฆฌ๋๋ ๋ฐฉ์์ ์ฝ๊ฐ์ ์ฐจ์ด๊ฐ ์๋ค๋ ์ ์ ์ ์ธํ๊ณ ๋ --options
์๋ ๋จ์ผ ๋ช
๋ น์ผ๋ก ์ํ๋ค๊ณ ๋งํฉ๋๋ค. --flags
๋ฅผ ์ฌ์ฉํ ํญ๋ชฉ์ ๋ํด ์ผ๋ถ ์ ํ์ ํ๋ ๋น์ฉ์ ์ง๋ถํด์ผ ํฉ๋๋ค.
ํ์ธ. ๋๋ฅผ ์ค๋ํ๋ค๊ณ ์๊ฐํด. ๋๋ ์ฝ๊ฐ์ ์กฐ์ฌ๋ฅผ ํ๊ณ ์ฌ์ง์ด Windows ์ค์น ํ๋ก๊ทธ๋จ๋ (์๋ง๋ :-)) do install-as-upgrade์ ์ต์ํฉ๋๋ค(VirtualBox์ ๊ฐ์ ๊ฒ์ ์ค์นํ๋ฉด "์ด๋ฏธ ์ด์ ๋ฒ์ ์ด ์ค์น๋์ด ์์ต๋๋ค. ์ ๊ทธ๋ ์ด๋ ํ์๊ฒ ์ต๋๊น?") Powershell์๋ ์ค์น ํจํค์ง๊ฐ ์๋๋ฐ ๊ตฌ์ฒด์ ์ผ๋ก ์ธ๊ธ๋์ง๋ ์์์ง๋ง ์ ๊ทธ๋ ์ด๋ ํจํค์ง๋ ์์ต๋๋ค. ๊ธฐํ ๋ฑ๋ฑ. ๊ทธ๋์ "์ค์น" ๋ช ๋ น ํ๋๋ง ์ฌ์ฉํ๋ ๊ฒ์ด ํ์ค์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค.
๋ฌผ๋ก ๋ค๋ฅธ ์ฌ๋์ด ๋ ผ์ํ๊ณ ์ถ์ดํ์ง ์๋ ํ ๊ธฐ์ ์ ์ผ๋ก ์ด PR์ "๊ตฌํ๋์ง ์์ ๊ฒ"์ผ๋ก ์ข ๋ฃ๋ ์ ์์์ ์๋ฏธํฉ๋๋ค. ๊ทธ๋ฌ๋ ์ค์น ๋ช ๋ น์ ๋ฆฌ๋ชจ๋ธ๋งํ๋ ค๋ _๋ฐฉ๋ฒ_์ ๋ํด ๋ ผ์ํ๊ธฐ์๋ ์ฌ์ ํ ์ข์ ์ฅ์์ ๋๋ค.
OTOH, ์ด์ฉ๋ฉด ์ฐ๋ฆฌ๋ ์ด๊ฒ์ ๊ฑฐ๋ถ๋ ๊ฒ์ผ๋ก ๋ซ๊ณ ๋๊ตฐ๊ฐ๊ฐ ์ค์น ๋ช ๋ น์ ์์ ํด์ผ ํ๋ค๊ณ ์ ์ํ๋ ๊ตฌ์ฒด์ ์ธ ์ ์๊ณผ ํจ๊ป ์๋ก์ด ๋ฌธ์ ๋ฅผ ์ฝ๋๋ค. ์ ์ด๋ ํ ๋ก ์ ์ํ ๋ ๋ช ํํ ์ถ๋ฐ์ ์ ์ ๊ณตํ ์ ์์ต๋๋ค.
์ง๋ฌธ์ ๋๋ค. ๋๊ตฐ๊ฐ ์ฐ๋ฆฌ๊ฐ ์ฌ๊ธฐ ๊ทธ๋ฆฌ๊ณ ๋ค๋ฅธ ๊ณณ์์ ์ ์๋ ๋ชจ๋ ์ ์์์ ์์ ํ ์ ์๋ ํ๋์ ์กฐํฉํ ์ ์๋ ์ง์ ์ ์์ง ์๋ค๊ณ ์๊ฐํฉ๋๊น? ์ข ์์ฑ์ ์ฒ๋ฆฌํ๋ ๋ฐฉ๋ฒ, ์ ์ฝ ์กฐ๊ฑด(๋ฐ ์ถฉ๋์ด ์ถฉ๋ํ๋ ๊ฒฝ์ฐ), ๋ฐ์ด๋๋ฆฌ ๋ ์์ค, "๋ชจ๋ ์ ๊ทธ๋ ์ด๋" ์๋๋ฆฌ์ค๋ฅผ ์ง์ํ๋ ๋ฐฉ๋ฒ ๋ฑ์ ๋ค๋ฃน๋๋ค. ๋ด ๊ฐ์ธ์ ์ธ ๋๋์ ์ฐ๋ฆฌ๊ฐ ๊ฒฐ์ ์ ๋ด๋ฆฌ๊ฑฐ๋ ํ ๋ก ์ ์ฐธ๊ณ ํ ์ ์๋ ์ฌ๋์ด ํ์ํ๋ค๋ ๊ฒ์ ๋๋ค. ๊ทธ๋ ์ง ์์ผ๋ฉด ์ธ๋ถ ์ฌํญ์ ๋ํด ์์ํ ํ ๋ก ํ ์ ์์ต๋๋ค. ๋๋ ๊ทธ๋ ๊ฒ ํ ์ ์์ง๋ง ๋ด๊ฐ ์ ์ํ ๊ฒ์ ๊ตฌํํ ์ ์์ ๊ฒ ๊ฐ์ง ์์ต๋๋ค(์: SAT ์๋ฒ AIUI๋ฅผ ์๋ฏธํ๋ "์ต์ ์ข ์์ฑ ํด๊ฒฐ" ์ ๊ทผ ๋ฐฉ์์ ์ ์ํ ๊ฒ์ ๋๋ค). ๋ฐ๋ผ์ ์ ์์ ๊ธฐ๊บผ์ด ์ดํํ๋ ค๋ ์ฌ๋์ด ํ ๋จ๊ณ ๋ ๋์๊ฐ(๊ทธ๋ฆฌ๊ณ ํผํ ์ ์๋ ๋ ผ์๊ณผ ์์ ๊ฑฐ ์ด๋์ ์ฒ๋ฆฌ :-))ํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
๋๋ ์ฌ๊ธฐ์์ ์ธ๊ธํ ์์ ์ ์ผ๋ถ ์๋ฏธ์ ๋ํด ์ฌ์ ํ ์ฐ๋ คํ๊ณ ์์ง๋ง ๊ตฌํ์ ์ค์ ๊ฐ๋ฅ์ฑ์ด ์์ ๋๊น์ง ๊ทธ๊ฒ์ ๋ํด ํ ๋ก ํ ์๋์ง๊ฐ ์๋์ง ํ์ ํ ์ ์์ต๋๋ค.
@dstufft ์ ์ต์ https://github.com/pypa/pip/issues/59#issuecomment -224341218์ ์ ์ ์ผ๋ก ๋์ํฉ๋๋ค.
์ด๊ฒ์ด (๋ค์ ํ ๋ฒ) --eager
/ --non-eager
์ต์
์ ๊ฐ๋จํ ์๋ฃจ์
์ ์นํธํ๋ ์ด์ ์
๋๋ค.
๋๋ ๋ํ ์ธ๊ธํ ๋๋ก @dstufft ์ ์๊ฒฌ์ ๋์ํฉ๋๋ค(๋จ์ผ install
๋ช
๋ น์ ์ฌ์ฉํ๊ณ update
๋ช
๋ น์ ์ฌ์ฉํ์ง ์์).
๊ทธ๋ฌ๋ --eager
/ --non-eager
์๋ฐํ๋์ง ์ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค. --non-eager
๋ ์
๋ฐ์ดํธํ ํ์๊ฐ ์๋ ํญ๋ชฉ์ ์
๊ทธ๋ ์ด๋ํ์ง ์๋๋ค๋ ์๋ฏธ์ธ ๊ฒ ๊ฐ์ต๋๋ค(์ฌ์ฉ์๊ฐ ๋ช
์์ ์ผ๋ก ์ง์ ํ๊ฑฐ๋ ์ ์ข
์์ฑ ์งํฉ์ ๋ง์กฑ์ํค๊ธฐ์๋ ๋๋ฌด ์ค๋๋์๊ธฐ ๋๋ฌธ). --eager
๋ ํ์ ์ฌ๋ถ์ ๊ด๊ณ์์ด ๋ชจ๋ ์ข
์์ฑ์ ๊ฐ๋ฅํ ์ต์ ๋ฒ์ ์ผ๋ก ์
๊ทธ๋ ์ด๋ํ๋ ๊ฒ์ ์๋ฏธํฉ๋๊น? ์ด๋ค ๊ฒ์ด ๊ธฐ๋ณธ๊ฐ์ด ๋ ๊น์? (๋๋ --non-eager
์ฃผ์ฅํ ๊ฒ์ด๋ค)
๊ทธ๋ฆฌ๊ณ ์ง๋ฌธ - ๊ณผํ ํจํค์ง๊ฐ ์ข ์์ฑ์ ์ฌ๋ฐ๋ฅด๊ฒ ์ ์ธํ๋๋ก ๊ถ์ฅํฉ๋๊น? ๊ทธ๊ฒ์ ์ค์ํ ๊ณ ๋ ค ์ฌํญ์ ๋๋ค.
์์ ๊ฑฐ ๋ณด๊ด์. ์ต์
์ด๋ฆ --eager
๋ฐ --non-eager
๋ ๋งค์ฐ ์ง๊ด์ ์ด์ง ์์ต๋๋ค. ๋ ๋์ ์กฐ๊ฑด์ด ํ์ํ๋ค๊ณ ์๊ฐํฉ๋๋ค. --upgrade-dependencies
์ ๊ฐ์ ๋ช
์์ ์ธ ๊ฒ์ผ ์ ์์ต๋๋ค.
์ด PR์ ๋ํ ์ ์๊ฒ ํต์ฌ ์ฌ์ฉ ์ฌ๋ก์ธ upgrade-all
๋ช
๋ น์ ์ ์ํฉ๋๋ค. ์ฐ๋ฆฌ๊ฐ ๊ทธ ๋ช
๋ น์ ๊ฑฐ๋ถํ๋ค๋ ๋ง์
๋๊น, ์๋๋ฉด ๋จ์ํ ๊ทธ๊ฒ์ ๋ํ ์๊ฒฌ์ด ์๋ค๋ ๋ง์์
๋๊น?
--eager
๋ฐ -non-eager
์๋ฏธํ๋ ๋ฐ์ ๋ํ ๋์ ์ดํด๋ --non-eager
๊ฐ ๋ค์๊ณผ ๊ฐ์์ผ ํ๋ค๋ ๋ฐ ๋์ํฉ๋๋ค. ๊ธฐ๋ณธ๊ฐ. ๋๋ ๋ํ ํ ์
๊ฐ๋ ์ฑ์ฐ์ง ์๋ ๋ ๋์ ์๋ฃจ์
์ด ์์ง๋ง ์ด๋ฆ์ด ์ฝ๊ฐ ์ง์ ๋ถํ๋ค๋ ๋ฐ ๋์ํฉ๋๋ค. ์๋ง๋ --[no-]recursive
๋๋ ๋ฌด์์ธ๊ฐ, ๋๋ ๋ชจ๋ฆ
๋๋ค.
upgrade-all
๋ช
๋ น๊ณผ ๊ฐ์ ๊ฒ์ด ์ข์ ์ถ๊ฐ๊ฐ ๋ ์ ์๋ค๊ณ ์๊ฐํฉ๋๋ค(์ด๋ ํ ๋ฒ์ ์ง์ ์๋ฅผ ์๋ฐํ์ง ์๋ ํ). ๋๋ ์๋ง๋ ์ด๊ฒ์ upgrade
๋ผ๊ณ ๋ถ๋ฅด๊ณ ๊ทธ๊ฒ์ด ์๋ํ๋ ๊ฒ์ ์ ํํ๋ ์ธ์๋ฅผ ์ทจํ์ง ์๋๋ก ํ ๊ฒ์
๋๋ค.
ํ ๋ฐ์ฌ
upgrade-all-packages
๋ํ ํ ๋ก - ์ฌ๊ธฐ์ ์์ต๋๋ค.
์ ํธ ๋ฐ์ด๋๋ฆฌ์ ๋ํ ํ ๋ก - #3785 ์ด์
์
๊ทธ๋ ์ด๋๋ก ์ค์น์ ๋ํ ๋
ผ์ - #3786 ์ด์
--prefer-binary ์ต์ ์ด ์๋ ๊ฒฝ์ฐ "ํ๋ณด๊ฐ ์๋ค๋ ๊ฒ์ ์๋ฏธํ์ง ์๋ ํ ๋ฐ์ด๋๋ฆฌ๋ง ์ฌ์ฉํ์ญ์์ค. ์ด ๊ฒฝ์ฐ ์์ค ํ์ฉ์ ๋ค์ ์๋ํ์ญ์์ค"
์ด๊ฒ์ ์ข์ ์๊ฐ์ ๋๋ค. ์ด ๋ฌธ์ ์ ๊ด๋ จํ์ฌ, ๋๋ ๊ทธ๊ฒ์ด ์์ฒด ๋ฌธ์ ๋ฅผ ๊ฐ์ง ๊ฐ์น๊ฐ ์๋ค๊ณ ์๊ฐํฉ๋๋ค. ( @dstufft ์ ์ฝ๋ฉํธ๋ ๊ทธ๊ฒ์ ์ถ๊ตฌํ ๊ด์ฌ์ด ์๋ค๊ณ ์๊ฐํ๊ฒ ๋ง๋ญ๋๋ค). ์ด์ ๋ํ ์ถ๊ฐ ๋ ผ์๋ฅผ ์ํด #3785๋ฅผ ์ด์์ต๋๋ค.
--eager ๋ฐ -non-eager ์๋ฏธ์ ๋ํ ๋์ ์ดํด๋ @pfmoore๊ฐ ๋ฐฉ๊ธ ๋งํ ๊ฒ๊ณผ ์ผ์นํฉ๋๋ค(์ข ์์ฑ์ด ํ์ํ ๊ฒฝ์ฐ์๋ง ๋๋ ํญ์ ์ค์น๋๋์ง ์ฌ๋ถ)
Eager ์ ๊ทธ๋ ์ด๋๋ ๋ชจ๋ (ํ์) ์ข ์์ฑ ์ ์ต์ ํ์ฉ ๋ฒ์ ์ ์ค์นํฉ๋๋ค ๋น์ด์ฌ ์ ๊ทธ๋ ์ด๋๋ ํจํค์ง ์๊ตฌ ์ฌํญ์ ๋ ์ด์ ์ถฉ์กฑํ์ง ์๋ ๊ฒฝ์ฐ์๋ง ์ ๊ทธ๋ ์ด๋ ํฉ๋๋ค.
์ต์ ์ด๋ฆ --eager ๋ฐ --non-eager๋ ๋งค์ฐ ์ง๊ด์ ์ด์ง ์์ต๋๋ค.
๋๋ ๋์ํ๋ค. ๋๋ ํ๋์ ๋จ์ผ ํ๋๊ทธ ๋ค์ ๋๋ ์์ด๋์ด๋ฅผ ์ข์ํฉ๋๋ค.
--upgrade-strategy=eager/non-eager
ํ ์ ๊ฐ๋ํ์ง๋ง ์๋๋ฅผ ๋ ๋ช ํํ๊ฒ ์ ๋ฌํฉ๋๋ค. ๋๋ฌด ์ฅํฉํฉ๋๊น? ์๋ง๋.
์๋ฏธ๋ก ์ ์์ฑํ ํ์ ๋ฐ์ดํฌ ์ ฐ๋ฉ์ ํ๋ ๊ฒ์ด ๊ฐ์ฅ ์ข๋ค๊ณ ์๊ฐํฉ๋๋ค.
๋๊ตฐ๊ฐ ์ฐ๋ฆฌ๊ฐ ์ฌ๊ธฐ ๊ทธ๋ฆฌ๊ณ ๋ค๋ฅธ ๊ณณ์์ ์ ์๋ ๋ชจ๋ ์ ์์์ ์์ ํ ์ ์๋ ํ๋์ ์กฐํฉํ ์ ์๋ ์ง์ ์ ์์ง ์๋ค๊ณ ์๊ฐํฉ๋๊น?
๋๋ ๊ทธ๋ ๊ฒ ์๊ฐํด. ์ฐ๋ฆฌ๋ ์ต์ํ ์ฐ๋ฆฌ๊ฐ ๋์ํ๋ ๋ช ๊ฐ์ง ๊ธฐ๋ณธ ์ฌ์ค์ ํ๋ฆฝํ ํ์๊ฐ ์์ต๋๋ค. ๋๋ ์ด๊ฒ์์๋ค.
OTOH, ์ด์ฉ๋ฉด ์ฐ๋ฆฌ๋ ์ด๊ฒ์ ๊ฑฐ๋ถ๋ ๊ฒ์ผ๋ก ๋ซ๊ณ ๋๊ตฐ๊ฐ๊ฐ ์ค์น ๋ช ๋ น์ ์์ ํด์ผ ํ๋ค๊ณ ์ ์ํ๋ ๊ตฌ์ฒด์ ์ธ ์ ์๊ณผ ํจ๊ป ์๋ก์ด ๋ฌธ์ ๋ฅผ ์ฝ๋๋ค. ์ ์ด๋ ํ ๋ก ์ ์ํ ๋ ๋ช ํํ ์ถ๋ฐ์ ์ ์ ๊ณตํ ์ ์์ต๋๋ค.
upgrade-all
์ ์ํ๊ธฐ ๋๋ฌธ์ ์ง๊ธ์ ์ด ๋ฌธ์ ๋ฅผ ์ด์ด ๋์ด์ผ ํ๋ค๊ณ ์๊ฐํฉ๋๋ค. ์
๊ทธ๋ ์ด๋๊ฐ ์งํ๋์ง ์๋๋ค๋ ์ ์ ์ด๋ฏธ ํ์ธํ์
จ์ต๋๋ค. install-as-upgrade ๋ช
๋ น์ ๋ํ ์ถ๊ฐ ๋
ผ์๋ฅผ ์ํด #3786์ ์ด์์ต๋๋ค.
๋๋ ์ฌ๊ธฐ์์ ์ธ๊ธํ ์์ ์ ์ผ๋ถ ์๋ฏธ์ ๋ํด ์ฌ์ ํ ์ฐ๋ คํ๊ณ ์์ง๋ง ๊ตฌํ์ ์ค์ ๊ฐ๋ฅ์ฑ์ด ์์ ๋๊น์ง ๊ทธ๊ฒ์ ๋ํด ํ ๋ก ํ ์๋์ง๊ฐ ์๋์ง ํ์ ํ ์ ์์ต๋๋ค.
๋๋ ์ด๊ฒ์ ๊ตฌํํ๋ ๋ฐ๊น์ง ๊ณ์ ์งํํ ์ฉ์๊ฐ ์์ต๋๋ค. ๋๋ ์ด๊ฒ์ ๋ํ ํฉ์๋ฅผ ๋์ถํ๋ ๋ฐ ๋ค๋ฅธ ๋ชจ๋ ์ฌ๋์ ๋ ธ๋ ฅ์ ๋ญ๋นํ๊ณ ์ถ์ง ์์ต๋๋ค.
๋๋ ๋ชจ๋๊ฐ '์ธ๊ณ ์ ๊ทธ๋ ์ด๋' ๋ช ๋ น์ด ์์ผ๋ฉด ์ ๋ง ์ข์ ๊ฒ์ด๋ผ๋ ๋ฐ ๋์ํ๋ค๊ณ ์๊ฐํ์ง๋ง IIUC๋ ๋ฆฌ์กธ๋ฒ ์์ ์ด ์ฐฉ๋ฅํ๊ธฐ๋ฅผ ๊ธฐ๋ค๋ฆฌ๋ ๋์ ์ฐจ๋จ๋ฉ๋๋ค. ๊ทธ ๋์ ๋๋ @pradyunsg ์ ์๋ก์ด ํ ๋ก ์ฃผ์ ์ ๋จ์ผ ํจํค์ง ์ ๊ทธ๋ ์ด๋ ์
๋๋ ๋ชจ๋๊ฐ '์ธ๊ณ ์ ๊ทธ๋ ์ด๋' ๋ช ๋ น์ด ์์ผ๋ฉด ์ ๋ง ์ข์ ๊ฒ์ด๋ผ๋ ๋ฐ ๋์ํ๋ค๊ณ ์๊ฐํ์ง๋ง IIUC๋ ๋ฆฌ์กธ๋ฒ ์์ ์ด ์ฐฉ๋ฅํ๊ธฐ๋ฅผ ๊ธฐ๋ค๋ฆฌ๋ ๋์ ์ฐจ๋จ๋ฉ๋๋ค.
์ค์ ๋ก ์ด ๋ฌธ์ ๋ ์ด์ #988์ ์ํด ์ ๋๋ก ์ฐจ๋จ๋์์ต๋๋ค. ๋ ๋ฌธ์ ๋ฅผ ๊ต์ฐจ ์ฐ๊ฒฐํ๊ธฐ ์ํด ๋ฌธ์ ๋ฒํธ๋ฅผ ์ธ๊ธํฉ๋๋ค.
๊ฑฐ์ ์์๋ค...
์ ๋ฐ์ดํธ๋ฅผ "๋ณด๋ฅ"ํ๋ค๋ ๊ฒ์ด ๋ฌด์์ ์๋ฏธํ๋์ง ์ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค. ๋ช ํํ ํด์ฃผ์ธ์.
์ด์ ์ด ๋ฌธ์ ๋ ๋ชจ๋ ์ ๊ทธ๋ ์ด๋ ์ ์ฉ์ด๋ฏ๋ก ๋ช ํํ ํด์ผ ํฉ๋๋ค.
upgrade-all์ ์คํํ ๋ ํน์ ํจํค์ง์ ์ ๊ทธ๋ ์ด๋๋ฅผ ๋ฐฉ์งํ๋ ๊ฒ์ด ์ ์ฉํ ์ํฉ์ด ์์ ์ ์์ต๋๋ค. ๋ด๊ฐ ์ผ๋์ ๋๊ณ ์๋ ํน์ ์ฌํญ์... pkg๊ฐ ์ค์น๋์ด ์๊ณ ์ ์ฌ์ ์ธ ์ต์ ๋ฒ์ ์ ๋ค์ ๊ตฌ์ฑํ๋ ๊ฒ์ ๋ํด ์ ๊ฒฝ์ฐ์ง ์์ผ๋ ค๋ฉด 'upgrade'๋ฅผ ์คํํ ๋ pip๊ฐ ํน์ ํจํค์ง๋ฅผ ์ ๊ทธ๋ ์ด๋ํ์ง ๋ชปํ๋๋ก ํ๊ณ ์ถ์ต๋๋ค. ์ธ๊ณ'. ๋ณธ์ง์ ์ผ๋ก ๋๋ pkg์ ์ ๊ทธ๋ ์ด๋๋ฅผ ๋ณด๋ฅํ๊ณ ์์ต๋๋ค.
์ ๊ทธ๋ ์ด๋๋ฅผ ๋ณด๋ฅํ๊ธฐ ์ํด ์ผํ๋ก ๊ตฌ๋ถ๋ ํจํค์ง ๋ชฉ๋ก์ ์ฌ์ฉํ๋ ํ๋๊ทธ๋ ๊ด์ฐฎ์ ๊ฒ์ ๋๋ค.
SAT ์๋ฒ๊ฐ ๋์ค๋ฉด ์ด๊ฒ์ ์ถ๊ฐํ๋ ๊ฒ์ ์ฌ์ธ ๊ฒ์ ๋๋ค. ๊ทธ๊ฒ์ ๋จ์ง ๋ช ๊ฐ์ง ์ถ๊ฐ ์กฐํญ IIUC์ ๋๋ค. (์, SAT ํด๊ฒฐ์ฌ๋ ๋ฆ๊ณ ์์ต๋๋ค)
์ด๊ฒ์ด ์ผ๋ฐ์ ์ธ ๊ฒ์ธ์ง ๋๊ตฐ๊ฐ๊ฐ ์ํ๋ ๊ฒ์ธ์ง ๋ชจ๋ฅด๊ฒ ์ต๋๋ค. ๊ทธ๋ฌ๋ ์ด๊ฒ์ด ๋ด ๋จธ๋ฆฌ์์ ์์๋ ๊ฒ์ ์๋๋ผ๊ณ ์๊ฐํฉ๋๋ค. ๋๊ตฐ๊ฐ๊ฐ ์ด๋๊ฐ์ ์ค๋ ๋์์ ๊ทธ๊ฒ์ ์ธ๊ธํ์ ๊ฒ์ ๋๋ค.
์, ์๊ฒ ์ต๋๋ค. ๊ทธ๊ฒ์ ์๋ฏธ๊ฐ ์๊ณ ์ํ๋ ํฉ๋ฆฌ์ ์ธ ๊ฒ์ฒ๋ผ ๋ณด์ ๋๋ค.
๋น ๋ฅธ ์์ฒญ: ์ค๋ช ์ ์ ๊ทธ๋ ์ด๋ ๋ช ๋ น์ด ๋ฐ์ํ์ง ์๋๋ค๋ ์์ ๋ฉ๋ชจ๋ฅผ ์ถ๊ฐํด ์ฃผ์๊ฒ ์ต๋๊น? ์๋ง๋ ์ํ๋ค๋ฉด ์ ๊ทธ๋ฐ์ง์ ๋ํ ๊ฐ๋จํ ์์ฝ๋ ์์ฑํ์ญ์์ค.
_์๋ฌ ๊ฐ๋ค_
apt์๋ ๋ ๊ฐ์ง ๋ฉ์ง ๊ธฐ๋ฅ์ด ์์ต๋๋ค(dnf์ ๊ฐ์ ๋ค๋ฅธ ์ฑ์ํ ์์คํ ํจํค์ง ๊ด๋ฆฌ์๋ ๋น์ทํ ๊ธฐ๋ฅ์ ๊ฐ์ง๊ณ ์๋ค๊ณ ์๊ฐํฉ๋๋ค).
์ด ๋ ๊ฐ์ง ๋ชจ๋ npm ๋ฐ ํ๋ฌผ๊ณผ ๊ฐ์ ๋ณด๋ค ์ต๊ทผ์ ํ๋ก์ ํธ ํ๊ฒฝ ํจํค์ง ๊ด๋ฆฌ์๊ฐ ์ํํ๋ ์์ ์ ํน์ํ ๊ฒฝ์ฐ๋ก ๋ณผ ์ ์์ต๋๋ค. ์ฌ๊ธฐ์ ๊ทธ๋ค์ ์ผ์ข ์ ์ธ๊ฐ ์งํฅ "์๊ตฌ ์ฌํญ" ํ์ผ๊ณผ ์์ ํ ์ง์ ๋ "์ ๊ธ" ํ์ผ์ ๊ตฌ๋ณํฉ๋๋ค. ๋ช ์์ ์ผ๋ก ๋ณด์ ๋ ํจํค์ง๋ ์ฌ๋์ด ์ง์ ํ ๋ฒ์ ์ ์ฝ ์กฐ๊ฑด์ด ์๋ ํจํค์ง์ ๊ฐ์ผ๋ฉฐ ๋ช ์์ ์ผ๋ก ์ค์น๋ ํจํค์ง๋ ์ฌ๋์ด ํธ์งํ ์ ์๋ ํ์ผ์ ๋์ด๋ ํจํค์ง์ ๋๋ค.
๊ฐ๊ฒ. '์ธ๊ณ ์
๊ทธ๋ ์ด๋'๋ฅผ ์ถ๊ฐํ๋ ๊ฒฝ์ฐ ํจํค์ง๋ฅผ ํ์ํ๋ ๊ธฐ๋ฅ์ ์ถ๊ฐํด์ผ ํฉ๋๋ค( held
/ user-installed
๋ฑ). ์
๊ทธ๋ ์ด๋. ๋๋ ์ด๊ฒ์ ์ข์ ๊ฒ์ด ์๋๋ผ ์๊ตฌ ์ฌํญ์ผ๋ก ๋ด
๋๋ค.
๋๋ ์ค์ ๋ก Cargo์์ ์ฌ์ฉํ๋ ๊ธฐ์ ์ ์ข์ํ๊ณ ์ข์ํฉ๋๋ค. ์ด๋ค ํํ์ meta-data-hidden-behind-a-cli-command๊ฐ ์๋ ํ์ผ์ ์ฌ์ฉํ๋ฉด ํจ์ฌ ๋ ์ฝ๊ฒ ํ์ ํ๊ณ ๊ด๋ฆฌํ ์ ์์ผ๋ฉฐ ์ฌํ ๊ฐ๋ฅํ ํ๊ฒฝ์ ๋ง๋ค ์๋ ์์ต๋๋ค.
pyproject.lock
ํํ๋ฅผ ๋ณธ๋ค๋ฉด ์ ๋ง ๊ธฐ์ ๊ฒ์
๋๋ค ...
200๋ฒ์งธ ๋๊ธ์ ๋๋ค. ์. : ์ค๋ง์ผ :
์ฐ๋ฆฌ๊ฐ ์ด์ผ๊ธฐํ ํจํค์ง์ "ํ์"๋ฅผ ์ํด #654์ ๋ํ ์ฐธ์กฐ๋ฅผ ์ถ๊ฐํฉ๋๋ค.
ํ๋ฌผ์ด ํ๋ ์ผ์ ์ค๋ช
ํ ์ ์์ต๋๊น? pyproject.lock
ํ์ผ์ด ์ฌ์ฉ์ ์ปดํจํฐ์ ์ ์ฅ๋๋ ๊ฒ์ ์ด๋์์ ๋ณผ ์ ์์ต๋๊น?
Rust์ Cargo์ ์ ๊ธ ํ์ผ์ ํ์ฌ ์ค์น๋ ์ข ์์ฑ์ ๋ฒ์ ์ ๊ธฐ๋กํ๊ธฐ ์ํด ํ๋ก์ ํธ ๋ฃจํธ์ ์ ์ฅ๋ฉ๋๋ค. ์ด ํ์ผ์ git์ ์ปค๋ฐํ๋ฉด ์ผ๊ด๋ ์ข ์์ฑ ๋ฒ์ ์ธํธ๋ฅผ ๋ค๋ฅธ ๊ฐ๋ฐ์ ๋ฐ CI์ ๊ณต์ ํ ์ ์์ต๋๋ค. PHP์ Composer์๋ ์ ์ฌํ ์ ๊ธ ํ์ผ์ธ Composer.lock์ด ์์ต๋๋ค.
๋๋ ํญ์ pip์ 'pip freeze'์ 'pip install -r'์ด ๋น์ทํ ์ผ์ ํ๊ธฐ ์ํ ๊ฒ์ด๋ผ๊ณ ์๊ฐํ๋๋ฐ, ์ ๊ธ ํ์ผ ํ์์ด ์ฌ๋์ด ์ฝ๊ฒ ์ฝ๊ณ ์ธ ์ ์๊ณ ์ฌ๋๋ค์ด ์ง์ ํธ์งํ๊ธฐ๋ก ์ ํํ๋ค๋ ์ ์ ์ ๊ฐ์ด์์ต๋๋ค. requirements.txt๋ ์๋ ์ ๊ธ ํ์ผ๋ก ์๊ฐ๋์ง ์์์ต๋๊น?
@triplepoint ์ค๋ช ๊ฐ์ฌํฉ๋๋ค. ๊ทธ๊ฒ์ ์ค์ ๋ก ์๊ตฌ ์ฌํญ ํ์ผ์ฒ๋ผ ๋ค๋ฆฝ๋๋ค. ๊ทธ๋ฌ๋ ์๊ตฌ ์ฌํญ ํ์ผ์ ์ ํ ์ฌํญ์ด๋ฉฐ ๋ฒ์ ๊ธฐ๋ฐ์ด๋ฉฐ ํ๋ก์ ํธ๋ณ๋ก ์์ต๋๋ค. (๋ด๊ฐ ์ดํดํ ๋๋ก) ํ์๋ ํ๊ฒฝ(virtualenv ๋๋ ์์คํ ์ค์น)๋ณ๋ก ์ด๋ฃจ์ด์ ธ์ผ ํ๋ฉฐ ๋จ์ํ "ํจํค์ง X๋ฅผ ์๋ ์ ๊ทธ๋ ์ด๋ํ์ง ์์"์ด๋ผ๊ณ ๋งํด์ผ ํฉ๋๋ค(๊ทธ๋ฌ๋ ์ฌ์ฉ์๊ฐ ์ด๋ฆ์ผ๋ก ํด๋น ํจํค์ง์ ์ ๊ทธ๋ ์ด๋๋ฅผ ๋ช ์์ ์ผ๋ก ์์ฒญํ๋ ๊ฒฝ์ฐ ์๋ ์ ๊ทธ๋ ์ด๋ ํ์ฉ).
upgrade-all
๋ฐ "์
๊ทธ๋ ์ด๋ ๋์"์ ๋ํ ๋
ผ์๋ฅผ ํ๊ธฐ ์ํด upgrade-all
์ ์ฒซ ๋ฒ์งธ ๊ตฌํ์ SAT ์๋ฒ๊ฐ ํ์ํ์ง ์๋ค๋ ํ์์ ๋ชฉ๋ก์ ๋ํ ํ ๋ก ์์ @rbtcollins ๋ฐ @ncoghlan์ ์๊ฒฌ์ด ์์ต๋๋ค upgrade-all
:
๋ก๋ฒํธ:
ํฐ์ผ์ ๋ํ ํฉ์๊ฐ ์ฐจ๋จ๋์๋ค๋ ์ฌ์ค์ ์๊ณ ์์ง๋ง ๊ทธ๋ ์ง ์์ต๋๋ค.
์ค์ ๋ก ๋์ํฉ๋๋ค.๋ค, ํ ๋ฆฌ์กธ๋ฒ ์์ด๋ _right_ ํ ์ ์์ง๋ง ํ ์๋ ์์ต๋๋ค.
์๋ ๊ฒ๋ณด๋ค ํจ์ฌ ๋ ๋์ ๊ทผ์ฌ์น(๋จ์ง ์ข์
๋ชจ๋ ์๊ตฌ ์ฌํญ์ ๋ํด ์ง์ ๋ ์ง์ ์). ๊ทธ๊ฒ์ ์ค์ ๋ก
๋น์ ์ด ์ถ์ ๋๋ ์ข์ ๋ฒ์ ์ธํธ๋ฅผ ๋ค๋ฃฐ ๋ ํฉ๋ฆฌ์ ์ ๋๋ค.
(์ค์น๋ ๋ค๋ฃจ์ง ์์).
์๊ธด โโ๊ธ:
"yum upgrade"๋ ์ ์ ํ SAT ์๋ฒ ์์ด ์๋ ๋์ ์ถฉ๋ถํ ์ ์๋ํ์ผ๋ฉฐ ์ผ๋ฐ์ ์ธ Linux ์ค์น์ ํจํค์ง ์ธํธ๋ ์ผ๋ฐ์ ์ธ ๊ฐ์ ํ๊ฒฝ์ ํจํค์ง ์ธํธ๋ณด๋ค ํจ์ฌ ํฝ๋๋ค. ์ฅ์).
์ฆ, pip-compile์ ๋ค์ ์คํํ ๋ค์ pip-sync๋ฅผ ์ํํ๋ ๊ฒ์ ์ด๋ฏธ ๋ชจ๋ ์ ๊ทธ๋ ์ด๋ ์์ (venv๋ฅผ ํ๊ดดํ๊ณ ๋ค์ ๋ง๋๋ ๊ฒ๊ณผ ๊ฐ์ด)๊ณผ ๊ธฐ๋ฅ์ ์ผ๋ก ๋์ผํ๋ฏ๋ก ๋๋ ์ ๊ทธ๋ ์ด๋๋ฅผ ์ง์ํ๋ ๋ฌธ์ ๋ฅผ ๊ฒฐํฉํ ํ์๊ฐ ์๋ค๋ ๋ฐ ๋์ํฉ๋๋ค. ๋ช ๋ช ๋ ๊ตฌ์ฑ ์์๋ฅผ ์ ๊ทธ๋ ์ด๋ํ๋ ๋์์ ๋ณ๊ฒฝํ๋ ๊ธฐ์ค pip.
IMO, pip upgrade-all
๋ ๋ค์ํ "์
๊ทธ๋ ์ด๋ ๊ธฐ๋ฅ" ๋
ผ์ ์ค์์ ๋จ์ฐ์ฝ ๊ฐ์ฅ ์ค์ํ ์ ์์
๋๋ค. "๋ชจ๋ ์
๊ทธ๋ ์ด๋"ํ๋ฉด ์์คํ
์ ์ต์ ์ํ๋ก ์ ์งํ ์ ์๋ ํ์คํ ๋ฐฉ๋ฒ์ด ์ ๊ณต๋๋ฉฐ, ์ด๋งํ์ง ์์ ์
๋ฐ์ดํธ์ ๋ํ ์ง๋ฌธ์ ์ด์ ์์ค์์ ํจ์ฌ ๋ ์๊ธํ๊ฒ ๋ง๋ค๊ณ ํ์ฌ ์กด์ฌํ๋ ๊ฒฉ์ฐจ๋ฅผ ๋ฉ์ธ ์ ์์ต๋๋ค.
์ ์ฒด ํด๊ฒฐ์ฌ ์ข์ ํ
๋ฐํ๋ ๋์, ๋๋์ ์์ ์ง์ ์ ์๋ฌด ์ด์ ๋ ๋ณผ pip upgrade-all
๊ทธ๊ฒ์ด ๋ฌด์์ํ๋ค๋ ๊ฒ์ ์ pip install -U <list every package that's installed here>
์ํํฉ๋๋ค. ๊ทธ๊ฒ์ด ๋ด๊ฐ ์ฌ์ฉ์๋ก์ ๊ธฐ๋ํ๋ ๊ฒ์ด๋ฉฐ, ๋๋ถ๋ถ์ ๊ฒฝ์ฐ ํ์ํ ๊ฒ์ ์ ํํ ์ํํฉ๋๋ค. ์์ถฉ๋๋ ์๊ตฌ ์ฌํญ์ ๋ํ ๋ณต์กํ ์ฝ๋ ์ผ์ด์ค๋ ์์ ๋ด์ฉ์ ์ฐธ์กฐํ์ฌ ์ฒซ ๋ฒ์งธ ์ธ์คํด์ค์์ ์ฒ๋ฆฌํ ์ ์์ต๋๋ค. ๊ทธ๊ฒ์ผ๋ก ์ถฉ๋ถํ์ง ์๋ค๋ฉด install -U
๋์์ ์์ ํ์ฌ ์ด๋ฅผ ํด๊ฒฐํ๊ฑฐ๋ update-all
๋ช
๋ น์ ํน์ ์ผ์ด์ค๋ก ์ฒ๋ฆฌํ๊ฑฐ๋ ํด๋น ์ง์ ์์ ์ ์ฒด ์๋ฒ๋ฅผ ๊ตฌํํ๋ ๋ฐฉ๋ฒ์ ์ดํด๋ณผ ์ ์์ต๋๋ค.
์์ผ๋ก 10๋ ์์ ์ด๊ฒ์ ๊ตฌํํ์๊ฒ ์ต๋๊น?
FWIW, ์ด๋ฒ ์ฃผ๋ง์ ๋ค์ ๋ฐฉ๋ฌธํ ์์ ์ ๋๋ค.
@magicgoose ๋ ๋ค์๊ณผ
์์ผ๋ก 10๋ ์์ ์ด๊ฒ์ ๊ตฌํํ์๊ฒ ์ต๋๊น?
@pfmoore ๋ ๋ด๊ฐ ํ ์์๋ ๊ฒ๋ณด๋ค ๋ ์ ๋งํ์ต๋๋ค.
์ฐ๋ฆฌ๋ ์ฌ๋๋ค์ด ์ด๊ฒ์ ์ํ๋ค๋ ๊ฒ์ ์๊ณ ์์ต๋๋ค. ๋ถ์กฑํ ๊ฒ์ ์ด๋ฏธ ์ ๊ธฐ๋ ๋ค์ํ ์ฐ๋ ค์ ๋ฌธ์ ๋ฅผ ๋ชจ๋ ์์ฉํ ์ ์๋ ์์ ํ๋ก๊ทธ๋จ์ ๊ธฐ๊บผ์ด ๊ฐ๋ฐํ๋ ค๋ ์ฌ๋์ด๋ฉฐ PR ๊ฒํ ์ค์ ํ์ฐ์ ์ผ๋ก ๋ํ๋ ๊ฒ์ ๋๋ค.
๋ฐ๋ผ์ ๊ฐ์ธ์ ์ผ๋ก ์ฌ๋๋ค์ด ์ต์ํ ๊ตฌํ์ ์์์ ์ ์ ๊ณตํ๋ ์์ ์ฝ๋๊ฐ ์๊ณ ๊ตฌํ๊น์ง ์ด๋ฅผ ๊ธฐ๊บผ์ด ๋ฐ๋ฅด์ง ์๋ ํ ์ด ๋ฌธ์ ์ ๋ํ ํ์ ์ผ๊ฐํด ์ฃผ์๋ฉด ๊ฐ์ฌํ๊ฒ ์ต๋๋ค.
์ ์ ์ผ๋ก ๊ฐ์ธ์ ์ธ ์๊ฒฌ
๋๋ pip์ ๋ณธ์ง์ ๋ํด ์๊ฐํฉ๋๋ค(debian, redhat ๋๋ ubuntu์ ๊ฐ์ ๊ธ๋ก๋ฒ QA๊ฐ ์๋ ์ ์ฅ์์์ ํจํค์ง๋ฅผ ์ค์นํจ)
๋ชจ๋ ๊ธฐ๋ฅ์ ๊ตฌํํ๊ณ ์
๋ฐ์ดํธํ๋ ๊ฒ์ ์ค์ ๋ก ์์ ํ ์์ ํ๋ ๊ฒ์ด ํ์ํ๊ฑฐ๋ ์์ฉํ ์ ์๋ค๊ณ ์๊ฐํฉ๋๋ค.
pip๋ ์ค์น ๊ฐ๋ฅํ Python ํจํค์ง ์ธํธ์ ์๋ ค์ง ์ํ๋ฅผ ๋ณด์ฅํ๊ธฐ ๋๋ฌธ์
@RonnyPfannschmidt IMO pip ์ฌ์ฉ์๊ฐ ์๊ตฌ ์ฌํญ/์ํฌํ๋ก์ ๋ง๋ ๊ฒฝ์ฐ ๋ชจ๋ update-all ๋ช ๋ น ์ฌ์ฉ์ ๋ช ์์ ์ผ๋ก ํ์ฉํ์ง ์๋ ๊ฒ์ด ๋งค์ฐ ํฉ๋ฆฌ์ ์ ๋๋ค. ๊ทธ๋ฌ๋ pip์ ๋ชจ๋ ์ฌ์ฉ์๊ฐ ์ด ์ฌ๋๋ค๊ณผ ๋์ผํ ์๊ฒฉํ ์๊ตฌ ์ฌํญ์ ๊ฐ๋ ๊ฒ์ ์๋๋๋ค. ์ข ๋ ํธ์ํ ์ฌ์ฉ์์๊ฒ๋ update-all ๋ช ๋ น์ด ์ ์ฉํ๋ฉฐ ์ด ๋ช ๋ น์ด ์๊ธฐ ๋๋ฌธ์ ์์คํ ์ "์ต์ ์ํ๋ก" ์ ์งํ๊ธฐ๊ฐ ํจ์ฌ ๋ ์ด๋ ต์ต๋๋ค. ๋ฐ๋ผ์ pip๊ฐ ๊ทธ๋ฌํ ๋ช ๋ น์ ์ ๊ณตํ๋ ๊ฒ์ด ํฉ๋ฆฌ์ ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค. ์ฌ์ฉ์๊ฐ ํด๋น ๋๊ตฌ๋ฅผ ์ฌ์ฉํ๊ธฐ๋ก ์ ํํ๋ ๋ฐฉ๋ฒ์ ๋ํ ํน์ ์ ์ฑ ์ ์ํํ๋ ๊ฒ์ด ์๋๋ผ ์ฌ๋๋ค์๊ฒ ํ์ํ ๋๊ตฌ๋ฅผ ์ ๊ณตํ๋ ๊ฒ์ด ์ฐ๋ฆฌ์ ์๋ฌด์ ๋๋ค.
@pfmoore ํ๊ฒฝ์ ๋ชจ๋ ํจํค์ง๋ฅผ ์ ๋ฐ์ดํธํ๋
ํธ์ํ ์ ๋ฐ์ดํธ๊ฐ ํ์ํ ์ฌ์ฉ์๋ ๋ชจ๋ ์ผ๋ฐ ์ต์ข ์ฌ์ฉ์๋ฅผ ์๋ฏธํ๋ ๊ฒ์ฒ๋ผ ๋ค๋ฆฝ๋๋ค(์๋ฅผ ๋ค์ด ์ผ๋ฐ Linux ๋ฐฐํฌํ์ ์ฌ์ฉํด์ผ ํจ).
๋ชจ๋ ์ ๊ทธ๋ ์ด๋๊ฐ ๋ฌธ์ ๊ฐ ์๋์ง ์ฌ๋ถ๋ ์ผ๋ง๋ ๋ง์ ์ข ์์ฑ์ด ์๊ณ API ์ ์ง ๊ด๋ฆฌ์ ๋ํด ์ผ๋ง๋ ์ ํ๋ จ๋์ด ์๋์ง์ ๋ฐ๋ผ _lot_์ด ๋ฌ๋ผ์ง๋๋ค. ๋ํ ๊ฐ ๊ฐ์ ํ๊ฒฝ์์ ์คํํ ์ ๊ทธ๋ ์ด๋ ๋ช ๋ น์ ์ ์คํ๊ฒ ๊ตฌ์ฑํ ํ์ ์์ด ์ ๋ณ๋ ํ๋ผ์ด๋น ๋ฆฌํฌ์งํ ๋ฆฌ์ ํจ๊ป ์ฌ์ฉํ์ฌ ์ค์ ๋ก ์ด๋ค ์ ๊ทธ๋ ์ด๋๊ฐ ๋ฐ์ํ๋์ง ์ ์ดํ ์ ์์ต๋๋ค.
@RonnyPfannschmidt Windows ์ฌ์ฉ์๋ ์ฌ์ ํ Linux ์ฌ์ฉ์ ์๋ฅผ 18:1๋ก ๋ฅ๊ฐ
์ฐ๋ฆฌ๋ ์ฌ๋๋ค์ด ์ด๊ฒ์ ์ํ๋ค๋ ๊ฒ์ ์๊ณ ์์ต๋๋ค. ๋ถ์กฑํ ๊ฒ์ ์ด๋ฏธ ์ ๊ธฐ๋ ๋ค์ํ ์ฐ๋ ค์ ๋ฌธ์ ๋ฅผ ๋ชจ๋ ์์ฉํ ์ ์๋ ์์ ํ๋ก๊ทธ๋จ์ ๊ธฐ๊บผ์ด ๊ฐ๋ฐํ๋ ค๋ ์ฌ๋์ด๋ฉฐ PR ๊ฒํ ์ค์ ํ์ฐ์ ์ผ๋ก ๋ํ๋ ๊ฒ์ ๋๋ค.
@pfmoore ๊ทธ๋ฌํ ๋๊ธ์ด ๊ธฐ์ฌ์์ ๋ ธ๋ ฅ์ ํํํ ์ ์๋ค๋ ์ฌ์ค์ ์๊ณ ๊ณ์ จ์ต๋๊น? ๊ทธ๊ฒ์ด ๋ด๊ฐ ๋ณด๊ธฐ์ ๊ทธ๋ ์ต๋๋ค. ์ด ๋ฌธ์ ์ ์ ์ฒด ๊ธฐ๋ก์ ๋ฐ๋๋์ง ํ์คํ์ง ์์ง๋ง, ์ด ํน๋ณํ ๊ฒฝ์ฐ์๋ ๋งค์ฐ ์๋ชป๋์์ต๋๋ค. ์ด ๋ฌธ์ ๋ ๊ธฐ์ฌ์๋ณด๋ค pip ๊ฐ๋ฐ ํ์ ํจ์ฌ ๋ ๋ง์ต๋๋ค.
๊ทธ ์ผ๋ถ์ ๋ํ ๋๋ต์ ์ธ ์์ฝ(PR gh-3194):
upgrade
๋ช
๋ น์ ํ์ํ๋ค๋ ๋ฌธ์ํ๋ ๊ฒฐ์ ์ด ์์ต๋๋ค(pip ๋ฉ์ผ๋ง ๋ฆฌ์คํธ์ ๋ฌธ์ ๋ฐ GitHub์ ์์).upgrade
์ํ๋ ๊ฒ์ ๋ํด ๋ง์์ ๋ฐ๊ฟ๋๋ค.๊ทธ๊ฒ๋ ๋จ๋ค๋ฅธ ๋๊ธฐ๋ฅผ ๋ณด์ฌ์ฃผ๊ณ ์๋ ๋ฑ์ฅ ํ๊ธฐ ์ ์ ์ผ์ด๋ค.
์ ์๋ํ๋ ํ๋ก์ ํธ์์ ์ด ๋ฌธ์ ์ ์ ๋ง๋ก ๊ด์ฌ์ด ์๋ ํต์ฌ ๊ฐ๋ฐ์๋ ๋น ๋ฅธ ํ์์์ ์กฐ์งํ๊ณ ์ผ์ข ์ ๊ฒฐ์ ์ ๋ด๋ฆฝ๋๋ค. ๋๋ ๊ทธ๋ฌํ ๊ฒฐ๋ก ์ ์ป์ ์ ์์ ๋งํผ ์ถฉ๋ถํ ์์ ํ๋๋ก ํ๋ ์ฌ๋์๊ฒ ์์ํ์ญ์์ค. ์๋๋ฉด ์ต์ํ ์ฌ๊ณผํ๊ณ PR ์ ์ถ์์๊ฒ "์งํค์ง ์์" ๊ฒ์ ๋ํด ๋น๋ํ๋ ๋์ ๊ฐ์ฌํ๋ค๊ณ ๋งํ์ญ์์ค.
์ข์ ์๋๊ฐ ์๋ ๊ฑด ์์ง๋ง ์ด๋ฐ ๋๊ธ์ ์ข ๋ ์กฐ์ฌํด์ฃผ์ธ์.
ํ ๋ก ์ ํตํด ์๊ตฌ์ฌํญ๊ณผ ์๊ฒฌ์ด ๋ฐ๋๋ ๊ฒ์ ์ง๊ทนํ ๋น์ฐํ๋ค๊ณ ์๊ฐํฉ๋๋ค. ํนํ ์ด์ ๊ฐ์ด ์ ๋ต์ด ์๋ ๋ํดํ ๋ฌธ์ ๋ ๋์ฑ ๊ทธ๋ ์ต๋๋ค. ๋ชจ๋ ์ฝ๋ ๊ธฐ๋ฐ์ ํจ์น๋ฅผ ์ ์ฉํ๋ ๊ฒ์ ์ผ๋ถ๋ ๋ณ๊ฒฝ ์ฌํญ์ ๋ํ ๊ฒํ ๋ฐ ํ ๋ก ์ ์ผ๋ถ๋ก ํด์๋๋ ๋ณ๊ฒฝ ์ฌํญ์ ๋ฐ๋ผ๊ฐ๋ ๊ฒ์ ๋๋ค. ์ผ๋ถ ๋ณ๊ฒฝ ์ฌํญ์ ์๋นํ ๋ฏธ๋ฏธํ๋ฉฐ ์ผ๋ถ ๋ณ๊ฒฝ ์ฌํญ์ ๋ ์ ๊ณ ์ผ๋ถ ๋ณ๊ฒฝ ์ฌํญ์ ๋ ๋ง์ต๋๋ค. ์ฌ๋์ด ๊ทธ๊ฒ์ ์ฒ๋ฆฌํ๊ณ ์ถ์ง ์๋ค๊ณ ๊ฒฐ์ ํ๊ณ ๊ทธ๋ง๋๋ ๊ฒ์ ์๋ฌด๋ฐ ๋ฌธ์ ๊ฐ ๋์ง ์์ต๋๋ค.
์ด ํน์ ๋ณ๊ฒฝ์ pip์ ๊ธฐ๋ณธ ์ฌ์ฉ์ ๊ธฐ๋ณธ ๋์์ ๋ณ๊ฒฝํ๊ธฐ ๋๋ฌธ์ ํนํ ๋ถ์พํฉ๋๋ค. ๊ทธ๊ฒ์ ์ด๋ ต๊ณ ๋๋ ค์ด ์ผ์ด๋ฉฐ ์ฐ๋ฆฌ๊ฐ ์๋๋ฅด๊ณ ํ ๋ฐฉํฅ ๋๋ ๋ค๋ฅธ ๋ฐฉํฅ์ผ๋ก ์ปค๋ฐํ๊ธฐ ์ ์ ์ ์ฒด ํด์๋ฅผ ์ฒ๋ฆฌํ์ง ์์ผ๋ฉด ์ฌ์ฉ์์๊ฒ ํด๊ฐ ๋ ๊ฒ์ ๋๋ค. ์ด ๋ช ๋ น์ ํ ๋ฌ์ 10~100๋ง ๋ฒ ์ฌ์ฉ๋ฉ๋๋ค. ์ด๊ฒ์ ์๊ณ ์ฌ์ด ๋ณํ๊ฐ ์๋๋ฉฐ ์ด๋ค ๋ณํ๋ฅผ ๋ง๋ค ๋ ์ค๋ ์ฑ๋ ๋ฐ๋ฐ์ ์ฒ๋ฆฌํด์ผ ํ๋ ์ฌ๋๋ค์ด ์ด ๋ฌธ์ ์ ๋ํด ํ๊ณ๋ฅผ ๋๋ ๊ฒ๋ ์๋๋๋ค.
์์ ์ PR์ ํ์ ๋ถ๋ค์ ์๊ฐ์ ์ชผ๊ฐ์ด ๊ฐ์ฌํ์ง๋ง ๋๊น์ง ํ์ง ์์ ๊ฒ์ด ์ฌ์ค์ ๋๋ค. ์ฌ๊ธฐ์์ ํต์ฌ ๊ฐ๋ฐ์๋ _์๊ฐ์ด ์ ํ๋์ด ์๊ธฐ ๋๋ฌธ์ ์ฐ๋ฆฌ๋ ์์ ๋ด์ฌ์์ด๊ฑฐ๋ ๋ง์ ํ๋ก์ ํธ์ ๋ถ์ฐ๋์ด ์ฐธ์ฌํ๊ฑฐ๋ ์ฐธ์ฌํ์ง ์์ต๋๋ค. ๋ชจ๋ ์ฃผ์๋ฅผ ์ํ๋ ๋ค์ํ ๋ฌธ์ ๊ฐ ์์ผ๋ฉฐ ์ด๊ฒ์ ๊ทธ ์ค ํ๋์ผ ๋ฟ์ ๋๋ค. Paul์ ๋จ์ํ ์ด ๋ฌธ์ ์ ๋ํด ping์ ๋ณด๋ด๋ ๊ฒ์ ๋์์ด ๋์ง ์์ผ๋ฉฐ(๊ทธ๋ ์ง ์์) ๋๊ตฐ๊ฐ๊ฐ ์ํ๋ฉด ๋๊ตฐ๊ฐ(ํต์ฌ ๊ฐ๋ฐ์ ์ค ํ ๋ช ํฌํจ)๊ฐ ์๋นํ ๋ ธ๋ ฅ์ ๊ธฐ์ธ์ด๊ธฐ๋ก ๊ฒฐ์ ํ ๋๊น์ง ๊ธฐ๋ค๋ ค์ผ ํ๋ค๊ณ ๋งํ์ต๋๋ค. ์๋ฐฑ๋ง์ ๊ธฐ๋ณธ ๋์์ ๋ณ๊ฒฝํ๊ฑฐ๋ ์ง์ ์ํํ์ญ์์ค.
์ฐ๋ฆฌ๋ ์ฌ๋๋ค์ด ์ด๊ฒ์ ์ํ๋ค๋ ๊ฒ์ ์๊ณ ์์ต๋๋ค. ๋ถ์กฑํ ๊ฒ์ ์ด๋ฏธ ์ ๊ธฐ๋ ๋ค์ํ ์ฐ๋ ค์ ๋ฌธ์ ๋ฅผ ๋ชจ๋ ์์ฉํ ์ ์๋ ์์ ํ๋ก๊ทธ๋จ์ ๊ธฐ๊บผ์ด ๊ฐ๋ฐํ๋ ค๋ ์ฌ๋์ด๋ฉฐ PR ๊ฒํ ์ค์ ํ์ฐ์ ์ผ๋ก ๋ํ๋ ๊ฒ์ ๋๋ค.
@pfmoore ๊ทธ๋ฌํ ๋๊ธ์ด ๊ธฐ์ฌ์์ ๋ ธ๋ ฅ์ ํํํ ์ ์๋ค๋ ์ฌ์ค์ ์๊ณ ๊ณ์ จ์ต๋๊น? ๊ทธ๊ฒ์ด ๋ด๊ฐ ๋ณด๊ธฐ์ ๊ทธ๋ ์ต๋๋ค. ์ด ๋ฌธ์ ์ ์ ์ฒด ๊ธฐ๋ก์ ๋ฐ๋๋์ง ํ์คํ์ง ์์ง๋ง, ์ด ํน๋ณํ ๊ฒฝ์ฐ์๋ ๋งค์ฐ ์๋ชป๋์์ต๋๋ค.
@rgommers ์ง์ฌ์ธ๊ฐ์? ๊ทธ ๋๊ธ์ ๋ช ๋ฌ ์ ์ ๊ฒ์ด๋ฉฐ ์ฌ๊ธฐ์์ ๋ฌธ๋งฅ์ ๋ง์ง ์๊ฒ ์ธ์ฉ๋์์ต๋๋ค(์์งํ ์ ๋ @pradyunsg ๊ฐ ๋ต์ฅ์ ํ๊ณ ์๋ ๋์์ด ๋์ง ์๊ณ ๋์์ ์ธ ๋๊ธ์ ๋ํ ์๋ต์ผ๋ก ๊ทธ๊ฒ์ ์ธ์ฉํ๋ ๋ฐ ๋ฌธ์ ๊ฐ ์์ต๋๋ค). ๋๋ ๋น์ ์ด ์ ์ฒด ์ญ์ฌ๋ฅผ ๊ฒํ ํ๋ค๋ฉด ๋งฅ๋ฝ์์ ๋ด ์๊ฒฌ์ ๋ณด์์ ๊ฒ์ด๋ผ๊ณ ์ ์ํ๊ณ ์ถ์ต๋๋ค.
๋ด๊ฐ ๊ทธ "์คํ ๋ฒ ์ด์ค"์๋ค๋ฉด ๋ฌธ๋งฅ์ ๋ฒ์ด๋ ์ง๊ธ ๋ฐ์ง๋ ๊ฒ์ด ์๋๋ผ ๋ด๊ฐ ๋งํ ๋น์ 5์์ ๊ทธ๋ ๊ฒ ๋งํ ์ ์์์ ๊ฒ์ ๋๋ค.
๋ด๊ฐ ๋๊ตฐ๊ฐ๋ฅผ ๊ธฐ๋ถ ๋์๊ฒํ๋ค๋ฉด ์ฌ๊ณผํฉ๋๋ค. ๊ทธ๊ฒ์ ์ ์๋๊ฐ ์๋์์ต๋๋ค. ์์งํ, ๋๋ ์ด ๋ฌธ์ ๊ฐ ๋ชจ๋ ์ฌ๋์ด ๋ฐ์๋ค์ผ ์ ์๋ ๋์์ธ์ ๋๋ฌํ๊ธฐ๊ฐ ๋๋ฌด ์ด๋ ต๋ค๋ ๊ฒ์ ์ฆ๋ช ํ๊ณ ์๋ค๋ ์ฌ์ค์ ๋ค๋ฅธ ๋๊ตฌ๋ณด๋ค ์ข์ ํ์ต๋๋ค. ์ ์๊ฒฌ์์ ์ ๋ ๊ท ํ์ ์ ์งํ๋ ค๊ณ ๋ ธ๋ ฅํ๊ณ ์์ต๋๋ค. ํํธ์ผ๋ก๋ ์ฌ๋๋ค์ด ํ๋ ๊ณตํ์ ์ง์ฌ์ผ๋ก ๊ฐ์ฌํ์ง๋ง ๋ค๋ฅธ ํํธ์ผ๋ก๋ ์ด์ ๊ฐ์ ๋ฌธ์ ์ ๋ํด ์ฝ๋ฉ์ ์์งํ ๊ฐ์ฅ ํ์ํ ์์ ์ ๋๋ค. ๋งค์ฐ ์์ฃผ ๊ธฐ๊ณ ์๋ ์ด ์ฌ์ค์ ์ธ์ ํ์ง ์์ผ๋ฉฐ, ์ด๊ฒ์ด ๋ถ์์ ํ PR์ ๋ฐ๋ ๊ณณ์ ๋๋ค. ์ฌ๋๋ค์ด ์ฌ๋๋ค์๊ฒ ์์ ์ ๋์์ธ์ด ๊ด์ฐฎ๋ค๋ ๊ฒ์ ์ค๋ํ๋ ๋ฐ ํ์ํ ์์ ๋ฐ/๋๋ ๊ฐ๋ฅํ ๋ฐฉ์์ผ๋ก ๋ณ๊ฒฝ ์ฌํญ์ ์ฌ์์ ํ๋ ๋ฐ ํ์ํ ์์ ์ ์ข์ ํ๋ ๊ฒฝ์ฐ์ ๋๋ค. ๋ค๋ฅธ ์ฌ๋๋ค์ (์ข ์ข ์์ถฉ๋๊ณ ์ผ๊ด์ฑ์ด ์๋!) ๊ฒฌํด๋ฅผ ๊ณ ๋ คํ๋ ๊ฒ์ ์ ๋ง ์ข์ํฉ๋๋ค. ๋๋ ๊ทธ๋ค์ด ๋นํ์ค์ ์ธ ๊ธฐ๋๋ฅผ ๊ฐ์ง๊ณ ์์ ๊ฒฐ๊ณผ์ ์ผ๋ก ๋์ ๊ฒฝํ์ ํ๊ธฐ๋ณด๋ค๋ ๊ด๋ จ๋ ๊ฒ์ ์ดํดํ๊ณ ํ๋ก์ธ์ค์ ์ฐธ์ฌํ์ผ๋ฉด ํฉ๋๋ค.
์ด ๋ฌธ์ ์ ๋ํ ํ ๋ก ์ ์ฐธ์ฌํ ๋ชจ๋ ์ฌ๋์ ๋ค์ํ ์ ๊ทผ ๋ฐฉ์์ ์ฅ๋จ์ ์ ๋ํด _๋ง์_ ์๊ฐ์ ํฌ์ํ์ต๋๋ค. ์๊ฐ์ด ์ค๋ ๊ฑธ๋ฆฐ๋ค๊ณ ํ๋ณตํ ์ฌ๋์ ์์ ๊ฒ ๊ฐ์์. ๊ฐ์ธ์ ์ผ๋ก upgrade-all
๋ช
๋ น์ ๋ถ์กฑ(๋ณ๊ฒฝ ์ฌํญ์ ์ผ๋ถ์ผ ๋ฟ์ด๋ฉฐ ๊ฐ์ฅ ๋จผ์ ๊ตฌํ๋๋ ๊ฒ์ ์๋)์ ์ ๊ธฐ์ ์ผ๋ก ์ ๋ฅผ ๊ดด๋กญํ๋๋ค. ์ฐ๋ฆฌ๋ ๋๋๋ก(์์งํ "๊ฐ๋" ๊ทธ ์ด์์
๋๋ค) ์ฌ๋๋ค(๋๊ฐ ํ ๋ก ์ด๋ ์ฝ๋์ ์ค์ ๋ก ๊ธฐ์ฌํ์ง ์์ ์ฌ๋๋ค)์ด "์ด๊ฒ์ ์ค์ํฉ๋๋ค. ์ ์์ง ๊ตฌํํ์ง ์์์ต๋๊น?" ์์งํ ๋งํด์ ์นจ์ฐฉํจ์ ์ ์งํ๊ณ ๊ทธ๋ฐ ์ฌ๋๋ค์ _ํ์ง_ ์๋ ๊ฒ์ ์ด๋ ต์ต๋๋ค.
์ ์๋ํ๋ ํ๋ก์ ํธ์์ ๋ฌธ์ ์ ์ ๋ง๋ก ๊ด์ฌ์ ๊ฐ๋ ํต์ฌ ๊ฐ๋ฐ์๋
์ด ์๊ฒฌ์ด pip ๊ฐ๋ฐ์๊ฐ ์ด ๋ฌธ์ ๋ฅผ ์์ ํ๋ ๋ฐ ๊ด์ฌ์ด ์๋ค๋(๊ทธ๋ฆฌ๊ณ pip์ ๋ํ ์์๋ก) ํด์๋ ๊ฐ๋ฅ์ฑ์ด ์๋ค๋ ๊ฒ์ ์๊ณ ๊ณ์ญ๋๊น? ์ฐ๋ฆฌ ๋ชจ๋๋ ์ฌ๋๋ค์ ๊ธฐ๋ถ์ ์ํ๊ฒ ํ ์ ์๋ ๋ฐฉ์์ผ๋ก ๋ง์ ํ ์ํ์ด ์์ต๋๋ค. pip ๊ฐ๋ฐ์๋ฅผ ๋นํํ๋ ค๋ ์๋๊ฐ ์๋์์ ๊ฑฐ๋ผ ํ์ ํฉ๋๋ค. ์ ๊ฐ ๋๊ตฌ์๊ฒ๋ ๋ถ์พ๊ฐ์ ์ฃผ๋ ค๊ณ ํ ๊ฒ์ด ์๋๋ผ๊ณ ๊ฐ์ ํด ์ฃผ์ญ์์ค.
๋น ๋ฅธ ํ์์์ ์กฐ์งํ๊ณ ์ผ์ข ์ ๊ฒฐ์ ์ ๋ด๋ฆด ๊ฒ์ ๋๋ค.
๊ทธ๋ฐ ๊ฒ์ด ์ฌ๊ธฐ์์ ์๋ํ๋ค๋ฉด ๋๋ผ๊ฒ ์ง๋ง, ๋๋ ๊ทธ๊ฒ์ ์๋ํ ์ค๋น๊ฐ ๋์ด ์์ต๋๋ค. ๋๊ฐ ๊ด์ฌํ ์ง, ์ด๋ป๊ฒ ๊ด๋ฆฌํ ์ง ํ์คํ์ง ์์ง๋ง ๋์์ด ๋๊ณ ๋๊ตฐ๊ฐ๊ฐ ๊ทธ ์ ๊ทผ ๋ฐฉ์์ ์๋ํ๊ณ ์ถ์ดํ๋ค๋ฉด ํ์คํฉ๋๋ค. ์ด ๋ณ๊ฒฝ์ด pip ์ฌ์ฉ์์๊ฒ ์ํฅ์ ๋ฏธ์น ์ ์๋ ํฐ ๊ฐ๋ฅ์ฑ์ด ์๊ธฐ ๋๋ฌธ์ ์ด์ ๊ฐ์ ๋น๊ณต๊ฐ ์ฑ๋์์ ๋ด๋ฆฐ ๋ชจ๋ ๊ฒฐ์ ์ ์๋ง๋ ์ ์์ผ๋ก ์์ฑ๋๊ณ ์ผ๋ฐ ์๊ฒฌ์ ์ํด ๊ฒ์๋์ด์ผ ํ๋ค๊ณ ๋งํ๊ณ ์ถ์ต๋๋ค. ์ฐ๋ฆฌ๊ฐ ๊ฐ์ง ๋์ผํ ํ ๋ก ์ ๋ ๋ค๋ฅธ ๋ผ์ด๋.
๋๋ ๊ทธ๋ฌํ ๊ฒฐ๋ก ์ ์ป์ ์ ์์ ๋งํผ ์ถฉ๋ถํ ์์ ํ๋๋ก ํ๋ ์ฌ๋์๊ฒ ์์ํ์ญ์์ค.
๊ทธ๋์ ์ด ํฐ ๊ฒฐ์ ์ ๋ ์ฌ๋์ด ์ผ๋ฐฉ์ ์ผ๋ก ํด์ผ ํ๋ค๋ ๋ง์์ด์ญ๋๊น? ์๋ง๋ ์ด๊ฒ์ด ์ฐ๋ฆฌ๊ฐ ํด๊ฒฐ์ฑ ์ ์ป์ ์ ์๋ ์ ์ผํ ๋ฐฉ๋ฒ์ผ ์ ์์ง๋ง ์ค์ ๋ก pip์์ ๊ฒฐ์ ์ด ๋ด๋ ค์ง๋ ๋ฐฉ์์ ์๋๋๋ค(Python๊ณผ ๋ฌ๋ฆฌ ์ฐ๋ฆฌ๋ ์งํ ์์ฌ ๊ฒฐ์ ๊ถํ์ด ์๋ BDFL์ด ์์ต๋๋ค). ๋น์ ์ด ์ํ๋ค๋ฉด ๊ทธ๊ฒ์ด ์ฐ๋ฆฌ๋ฅผ "์ ์๋ํ๋ ํ๋ก์ ํธ"๊ฐ ์๋๋ผ๊ณ ์ฃผ์ฅํ ์ ์์ต๋๋ค. ๊ทธ๊ฒ์ ์ ๊ฒฌํด๊ฐ ์๋์ง๋ง ๋น์ ์ด ์ํ๋ค๋ฉด ๊ทธ๊ฒ์ ๋ํด ๋์ํ์ง ์์ ์ ์์ต๋๋ค.
์๋๋ฉด ์ต์ํ ์ฌ๊ณผํ๊ณ PR ์ ์ถ์์๊ฒ ๊ฐ์ฌ์ ๋ง์ ์ ํ์ญ์์ค.
์ฐ๋ฆฌ๊ฐ ๋ฌด์์ ๋ํด ์ฌ๊ณผํด์ผ ํ๋์ง ์ ๋ชจ๋ฅด๊ฒ ์ง๋ง ๋์์ด ๋๋ค๋ฉด ๊ธฐ๊บผ์ด ์ฌ๊ณผํ๊ฒ ์ต๋๋ค. ์๋ฌด๋ ๊ทธ์๊ฒ ์ด ์ ์์ ์๋ฃํ๋ ๊ฒ์ด ์ผ๋ง๋ ์ด๋ ค์ด ์ผ์ธ์ง ๋ช ํํ๊ฒ ์ดํดํ์ง ๋ชปํ๋ค๋ ์ฌ์ค์ ๋ํด ๋๋ ๊ทธ๊ฐ ํ ๋ก ์ ๊ด๋ฆฌํ๊ณ ์ฐธ๊ฐ์๋ค์ ํฉ์์ ์ด๋ฅด๋๋ก ๋์์ต๋๋ค. ํ์ง๋ง ๊ณต์ ํ๊ฒ ๋งํด์, ๊ด๋ จ๋ _๋ค๋ฅธ__ ๋๊ตฌ๋ ๋น์์ ์ด๊ฒ์ด ์ฌ์ค์ผ์ง ๋ชฐ๋๋ค๊ณ ์๊ฐํฉ๋๋ค. ๊ทธ๋์ ์ ๋ ์ฌ๊ธฐ์ ์ด์ผ๊ธฐํ๋ ๊ฒ์ด ์ฃผ๋ก ๋ค๋ฆ์ ์๊ฐ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค.
๊ทธ๋ ํ์คํ ๋ด ๊ฐ์ฌ๋ฅผ ๊ฐ์ง๊ณ ์์ต๋๋ค. "๋งํ ํ์๋ ์์ด"๋ผ๊ณ ๋งํ๋ ๊ฒ์ ๋ค์ ์ฝ์ง๋ง, ๊ทธ๋ ๊ฒ ํด์๋ ์ ๋ฉ๋๋ค. ์คํ ์์ค ํ๋ก์ ํธ๋ ๊ธฐ์ฌ์์๊ฒ ์ถฉ๋ถํ ๊ฐ์ฌํ์ง ์์ผ๋ฉฐ, ๊ทธ๊ฒ์ด ๋ฌธ์ ์ ๋๋ค. ์ ๊ฐ ์ด ์ฃผ์ ์ ๋ํด ์ด์ผ๊ธฐํ๋ ๋์ ์ด ํ ๋ก ์ ๊ธฐ์ฌํ _๋ชจ๋ ์ฌ๋_์๊ฒ ๊ฐ์ฌ์ ์ธ์ฌ๋ฅผ ์ ํ๊ณ ์ถ์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ ๋ ์ฌ๊ธฐ์์ ์์ ํ ์ง์งํฉ๋๋ค. ๊ฒฝํ์ ํตํด ๊ทธ๊ฒ์ด ์ผ๋ง๋ ๊ณ ๊ฐ๋ ์ ์๋์ง ์๊ณ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ํนํ ๋ชจ๋ ๋์๋ ํ ๋ก ๊ณผ ๋ฐฉํฅ ๋ณ๊ฒฝ์ ํ์ฌ ํฌ์์๊ฐ ๋ @pradyunsg ์๊ฒ. ํฌ๊ธฐํ์ง ์์ ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค! (์์ง!!)
"์งํค์ง ์์" ๊ฒ์ ๋ํด ๊ทธ๋ฅผ ๋น๋ํ๋ ๋์ .
๊ธ์, ๋๋ ๋น๋์ด ๋ถ์๋ค๊ณ ์๊ฐํ์ง ์๋๋ค(๋น๋ก ๊ทธ๊ฐ ๋ ์ด์ ์ฃผ๋ณ์ ์๊ธฐ ๋๋ฌธ์ ๊ทธ๊ฐ ๋น๋์ ๋ฐ์๋์ง ์๊ธฐ๋ ์ด๋ ต์ง๋ง). ๊ทธ๋ฌ๋ ๊ทธ์ ์๋ PR์ด ๋๊น์ง ๊ด๋ฆฌ๋์ง ์์ ๊ฒ์ด ์ฌ์ค์ ๋๋ค. ํ์ง๋ง ๊ทธ๊ฒ์ ์ฌ์ค์ผ ๋ฟ์ ๋๋ค. ๊ธฐ์ฌ์๊ฐ PR์ ์ ์ถํ๊ธฐ ๋๋ฌธ์ PR์ ์๋ฝํ ์๊ฒฉ์ด ์๋ค๊ณ ์ ์ํ๋ ์ฌ๋์ด ์๊ธฐ๋ฅผ ๋ฐ๋๋๋ค. ๋ชจ๋ PR์ด ์ฒ์ ์ ์ถ๋ ๋ ํ์ฉ๋๋ ๊ฒ์ ์๋๋ฏ๋ก ์์ ๋ฐ ์ ๋ฐ์ดํธํด์ผ ํ๋ฉฐ ๋๋ก๋ ๋ชจ๋ ์์ ํ์๋ _์ฌ์ ํ_ ํ์ฉ๋์ง ์์ต๋๋ค. ๋ฏธ์ํ์ง๋ง ๊ทธ๊ฒ ์ธ์์ด์ผ.
[์์ ๋ง์์ ์ ๊ฐ ๊ฑฐ์น ๊ฒ ๋ณด์ด์ จ๋ค๋ฉด ์ฌ๊ณผ๋๋ฆฝ๋๋ค(๋ค์ ํ๋ฒ!). ๊ทธ๋ฌ๋ ๋ด ์ฌ๊ฐ ์๊ฐ์ ๋ง์ ๋ถ๋ถ์ ์ฝ๊ณ ๋ด๊ฐ (๋๋ ๋ด๊ฐ ๊ด๋ จ๋ ํ๋ก์ ํธ) ์ด๋ป๊ฒ ๋ ์ถฉ๋ถํ ํ์ง ์์ ๋ถ๋ง์ ์ฒ๋ฆฌ ํ๋ ๋ฐ ์ฌ์ฉ ๋ฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ทธ๊ฒ์ ์ ์ํ์ ๋๋ค. ์์๋ฆฌ ๋๋ฌธ์ ์ฌ๊ฐ ์๊ฐ์ ์คํ ์์ค ์์ ์ ๋ํ ์์์ ์์ต๋๋ค. ๋ฌผ๋ก ์ด๋ ๋ ์ ์ ์์ ์ ์ํํ๋ค๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค. ์์๋ฅผ ์งํค๋ ค๊ณ ํ๋ค๊ฐ ๊ฐ๋ ์ฝ์ง๊ฐ ์์์]
PR์ด ์ด๋ป๊ฒ ๊ด๋ฆฌ๋๊ณ ์๋์ง์ ๋ํ ์ด ๋ฉํ ํ ๋ก ์ ๋ํด ๋ ์ด์ ์ธ๊ธํ ๊ณํ์ด ์์ต๋๋ค. ์ ๋ ์ค๋ ์ ๋ ์ ์ด ๋ต๋ณ์ ์์ฑํ๋ ๋ฐ ํ ์๊ฐ์ ๋ณด๋์ต๋๋ค. ๋๊ตฐ๊ฐ์ ๊ธฐ๋ถ์ ์ํ๊ฒ ํ ์ ์๋ ๋ง์ ํ์ง ์์ผ๋ ค๊ณ ํ์ต๋๋ค. (๊ทธ๋ฆฌ๊ณ ์ ๋ ์คํจํ์ต๋๋ค:-(). ๊ทธ๋ฆฌ๊ณ ์ ๋ ๊ทธ ์๊ฐ์ ๊ฐ์กฑ๊ณผ ํจ๊ป, ํธ์ํ๊ฒ, ๋ ์์ฐ์ ์ธ ์ผ์ ํ๊ฑฐ๋.
๊ทธ๋์ @pradyunsg ๊ฐ ์ฐ๋ฆฌ ๋ชจ๋๊ฐ ๋ง์กฑํ ์ ์๋ PR์ ์์ฑํ๊ณ ๋ฌด์ตํ ๋ฉํ ํ ๋ก ์ ์ค๋จํ๋๋ก ๋ค์ ๋์
๊ทธ๋์ @pradyunsg ๊ฐ ์ฐ๋ฆฌ ๋ชจ๋๊ฐ ๋ง์กฑํ ์ ์๋ PR์ ์์ฑํ๊ณ ๋ฌด์ตํ ๋ฉํ ํ ๋ก ์ ์ค๋จํ๋๋ก ๋ค์ ๋์
์, ๋ถํํฉ๋๋ค. :์๊ฒฐํ:
์, ์์ด๋ฒ๋ ธ์ด์.
@rgommers ๋ ๋ค์๊ณผ
๊ทธ๊ฒ๋ ๋จ๋ค๋ฅธ ๋๊ธฐ๋ฅผ ๋ณด์ฌ์ฃผ๊ณ ์๋ ๋ฑ์ฅ ํ๊ธฐ ์ ์ ์ผ์ด๋ค.
๋ณด์์ฑ ์ผ๋ก ์ผ๊ฒ ์ต๋๋ค... ๊ฐ์ฌํฉ๋๋ค.
@pfmoore ๋ ๋ค์๊ณผ
ํนํ ๋ชจ๋ ๋์๋ ํ ๋ก ๊ณผ ๋ฐฉํฅ ๋ณ๊ฒฝ์ ํ์ฌ ํฌ์์๊ฐ ๋ @pradyunsg ์๊ฒ. ํฌ๊ธฐํ์ง ์์ ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค!
์ฒ๋ง์์.
(์์ง!!)
๋๋ ๊ทธ๊ฒ์ด ๊ทธ ์ํ์ ์ด๋ฅด์ง ์๊ธฐ๋ฅผ ์ ๋ง๋ก ๋ฐ๋๋๋ค. IMO๊ฐ ๊ทธ๋ ๊ฒ ๋๋ค๋ฉด ์ ๋ง ๋์ ์ํฉ์ด ๋ ๊ฒ์ ๋๋ค. (๋๋ ๊ทธ๋ฐ ์์ผ๋ก ๊ฑฐ๋งํ๋ค)
๋๋ ์ญ์ฌ๋ฅผ ๊ฒํ ํ๋ ๋์ ๋ค์์ ์ผ๊ณ ๋์ค์ ์ฐธ์กฐํ๊ณ ๋ง์ผ์ ๋๋นํ์ฌ ๋ค๋ฅธ ์ฌ๋๋ค์ด ๋๋ฅผ ์์ ํ ์ ์๋๋ก ์ฌ๊ธฐ์ ์ฌ๋ฆฌ๋ ๊ฒ์ด ์ข์ ๊ฒ์ด๋ผ๊ณ ์๊ฐํ์ต๋๋ค.
์, ์ง๊ธ์ pip install --upgrade
์์ ์๋ง ์ง์คํ๊ณ ๋ค๋ฅธ ๋ชจ๋ ๊ฒ์ ๋จ๊ฒจ๋๊ฒ ์ต๋๋ค. ๊ทธ๊ฒ์ ์ด์จ๋ ๋ค๋ฅธ ์์
์ ๋ํ ์๊ตฌ ์ฌํญ์
๋๋ค.
@pfmoore @dstuff ์ฌ๋ ค๊น์ ๋ต๋ณ์ ๊ฐ์ฌ๋๋ฆฝ๋๋ค. ๋๊ตฐ๊ฐ๋ฅผ ํ๋๊ฒ ํ๋ ค๋ ์๋๋ ์๋์์ผ๋ฏ๋ก ๊ทธ๋ฐ ์์ผ๋ก ๋ค๋ ธ๋ค๋ฉด ์ฌ๊ณผ๋๋ฆฝ๋๋ค.
์ฌ๊ธฐ์์ ๊ธด ํ ๋ก ์ ์ํ๋ ์ฌ๋์ด ์๊ธฐ ๋๋ฌธ์ ๋ชจ๋ ๋ต๋ณ์ ๋ตํ์ง ์๊ฒ ์ต๋๋ค.
๋ด๊ฐ ๋งํ์ ๋ ๋น์ ์ 5์์ ๊ทธ๋ ๊ฒ ๋งํ ์ ์์์ต๋๋ค.
๊ทธ๋ 2๋ฌ ๋์ Github์ ๋ ๋ ์์๋๋ฐ ๊ทธ ๋๊ธ์ ์ฒ์ ๋ณด์์ ๋ ๊ท์ฐฎ์์ต๋๋ค.
๊ทธ๋์ ์ด ํฐ ๊ฒฐ์ ์ ๋ ์ฌ๋์ด ์ผ๋ฐฉ์ ์ผ๋ก ํด์ผ ํ๋ค๋ ๋ง์์ด์ญ๋๊น?
ํ ์ด๋ธ์ ๋ชจ๋ ์ต์ ์ ํ์ ์ ์ง๋ณด๋ค ํจ์ฌ ๋ซ์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ 5.5๋ ์ด ์ง๋ ํ ์ฌ๊ธฐ์ ์ฌ๋ฌ ๋ฌธ์ /PR๊ณผ ๋ฉ์ผ๋ง ๋ฆฌ์คํธ์ ์๋ฐฑ ๊ฐ์ ๋๊ธ์ด ํผ์ก์ง๋ง ์์ง ๋ ๋ง์ ๋๊ธ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ๊ฒ์ด๋ผ๊ณ ํ์ ํ์ง ๋ชปํฉ๋๋ค. ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋๊ธฐ๋ฅผ ๋ฐ๋๋๋ค. ํ์ง๋ง ์ด ๋ฌธ์ ๊ฐ ๋ค์ ์ค๋จ๋๋ฉด ๋ถ๋ช ํ ๊ทธ๋ ์ต๋๋ค. ํ๋ ๋ช ์ ์ง๋ช ํ๊ณ ์ ํ์ ํ์ญ์์ค.
์ฐ๋ฆฌ๊ฐ ๋ฌด์์ ๋ํด ์ฌ๊ณผํด์ผ ํ๋์ง ์ ๋ชจ๋ฅด๊ฒ ์ง๋ง ๋์์ด ๋๋ค๋ฉด ๊ธฐ๊บผ์ด ์ฌ๊ณผํ๊ฒ ์ต๋๋ค. ์๋ฌด๋ ๊ทธ์๊ฒ ์ด ์ ์์ ์๋ฃํ๋ ๊ฒ์ด ์ผ๋ง๋ ์ด๋ ค์ด ์ผ์ธ์ง ๋ช ํํ๊ฒ ์ดํดํ์ง ๋ชปํ๋ค๋ ์ฌ์ค์ ๋ํด ๋๋ ๊ทธ๊ฐ ํ ๋ก ์ ๊ด๋ฆฌํ๊ณ ์ฐธ๊ฐ์๋ค์ ํฉ์์ ์ด๋ฅด๋๋ก ๋์์ต๋๋ค.
๋๋ ํ์๋ฅผ ์๋ฏธํ๋ค. ๋๋๋ก ๋๋ ๋ด ํ๋ก์ ํธ ์ค ํ๋์ ๋ํ ๊ฒฐ์ ์ ๋ํด ๋ง์์ ๋ฐ๊ฟ๋๋ค. ๊ทธ๋ฐ ์ผ์ด ๋ฐ์ํฉ๋๋ค. ๊ทธ๋ฌ๋ฉด ๋๋ ์๋ก์ด ๋ฐฉํฅ์ ๋ถ๋ช ํ ํด์ผ ํ๋ค๋ ์ฑ ์๊ฐ์ ๋๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ทธ ๋ณ๊ฒฝ์ ๊ฒฐ๊ณผ๋ฅผ ์ฒ๋ฆฌํ ์๊ฐ์ด ์๋ค๋ฉด ์ฌ๊ณผํ์ญ์์ค(๋จ 30์ด๋ฉด ๋ฉ๋๋ค....).
๊ทธ๋ฌ๋ ๊ทธ์ ์๋ PR์ด ๋๊น์ง ๊ด๋ฆฌ๋์ง ์์ ๊ฒ์ด ์ฌ์ค์ ๋๋ค. ํ์ง๋ง ๊ทธ๊ฒ์ ์ฌ์ค์ผ ๋ฟ์ ๋๋ค.
๊ทธ๊ฒ์ ์ฌ์ค์ด ์๋๋ผ ๊ฒฌํด์ ๋๋ค. ์ ์๊ฐ์๋ PR์ด ์๋ฃ๋์์ต๋๋ค. ์ด์ ๋ น์ ๋ฒํผ์ ๋๋ฅด๊ฑฐ๋ ๊ฑฐ๋ถํ๋ ์ผ๋ง ๋จ์์ต๋๋ค. ๊ทธ๋ ๋ด๊ฐ ๊ธฐ์ฌ์์๊ฒ ๊ธฐ๋ํ๋ ๋ชจ๋ ๊ฒ์ ํด์ฃผ์์ต๋๋ค.
๊ทํ์ ํ์ ํ์ ์ ๋ pip ๊ฐ๋ฐ์๊ฐ ๊ธฐ์ฌ์์ ํต์ฌ ๊ฐ๋ฐ์์๊ฒ ๊ธฐ๋ํ๋ ๋ฐ๊ฐ ์ ๊ฐ ์๊ณ ์๋ ๋ค๋ฅธ ํ๋ก์ ํธ์ ๋งค์ฐ ๋ค๋ฅด๋ค๋ ๊ฒ์ ๊นจ๋ฌ์์ต๋๋ค. ์ ๋ ํต์ฌ ๊ฐ๋ฐ์๊ฐ ์๋ก์ด ๊ธฐ์ฌ์๋ฅผ ์๋ดํ๊ณ , ๊ฒฉ๋ คํ๊ณ , ํ์ํ ๊ฒฝ์ฐ ํผ๋๋ฐฑ์ ์ ๊ณตํ๊ณ , ๋ ผ์์ ์ฌ์ง๊ฐ ์๋ ๋ฌธ์ (๋๋ถ๋ถ์ ๊ธฐ์ฌ์๋ ๊ธฐ์ ๋ ๊ด์ฌ๋ ์๊ณ ์ข ์ข ํต์ฌ ๊ฐ๋ฐ์๊ฐ ๋๋ ๋ฌธ์ )๋ฅผ ํด๊ฒฐํ๋ ๋ฐ ๋์์ ์ค ๊ฒ์ผ๋ก ๊ธฐ๋ํฉ๋๋ค. ํ์. ๋น์ ์ ์๋ก์ด ๊ธฐ์ฌ์์๊ฒ ๋ค์๊ณผ ๊ฐ์ด ๋งํ๊ณ ์์ต๋๋ค: _"๋น์ ์ด ์ฐ๋ฆฌ๋ฅผ ๊ด๋ฆฌํด์ผ ํฉ๋๋ค. ์ฐ๋ฆฌ๋ ๋ง์์ ๋ฐ๊พธ๊ฑฐ๋, ์๋ก ๋์ํ์ง ์๊ฑฐ๋, ํฅ๋ฏธ๋ฅผ ์์ ์ ์์ต๋๋ค. ๊ทธ๊ฒ์ ๊ด๋ฆฌํ๋ ๊ฒ์ ๋น์ ์ ์ผ์ ๋๋ค"_. ์ด์ฉ๋ฉด ๊ทธ๊ฒ์ด ์ด ํ๋ก์ ํธ์ ๋ณธ์ง์ด๊ณ ๊ทธ๋์ผ ํ๋ ๊ฒ์ธ์ง๋ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค.
์ด ์ฃผ์ ์ ๋ํด ์ด์ผ๊ธฐํ๋ ๋์ ์ด ํ ๋ก ์ ๊ธฐ์ฌํ ๋ชจ๋ ๋ถ๋ค๊ป ๊ฐ์ฌ๋๋ฆฝ๋๋ค.
๋์. ๊ธฐ์ฌํ ๋ชจ๋ ๋ถ๋ค๊ป ๊ฐ์ฌ๋๋ฆฝ๋๋ค.
- ๊ทธ๋ฆฌ๊ณ ์ ๋ ์ฌ๊ธฐ์์ ์์ ํ ์ง์งํฉ๋๋ค. ๊ฒฝํ์ ํตํด ๊ทธ๊ฒ์ด ์ผ๋ง๋ ๊ณ ๊ฐ๋ ์ ์๋์ง ์๊ณ ์์ต๋๋ค.
๋ฐฐ์์ค์ ๋๋ค. ๊ฐ์ธ์ ์ผ๋ก ์ ๋ ์ฌ๊ธฐ์ distutils-sig๋ฅผ ๊ณ ์ํฉ๋๋ค. ์๋ํ๋ฉด ์ด๊ฒ์ด Python ์ํ๊ณ์ ์ ํจํค์ง ์ฌ์ฉ์์๊ฒ ์ค์ํ๊ธฐ ๋๋ฌธ์ ๋๋ค. ๊ทธ๋ฌ๋ ๋ ๊ณณ ๋ชจ๋ ์ ๊ฒ ๊ธ์ ์ ์ธ ์๋์ง๋ฅผ ์ฃผ์ง๋ ์์ต๋๋ค.
๋ ์ด๋ ์๋๋ก ๋ฏธ๋๋ฌ์ง ๊ฒฝ์ฐ๋ฅผ ๋๋นํ์ฌ - #3972 :์ค๋ง์ผ:
๋น์ ์ ์๋ก์ด ๊ธฐ์ฌ์๋ค์๊ฒ "๋น์ ์ด ์ฐ๋ฆฌ๋ฅผ ๊ด๋ฆฌํด์ผ ํฉ๋๋ค. ์ฐ๋ฆฌ๋ ๋ง์์ด ๋ฐ๋๊ฑฐ๋, ์๋ก ๋์ํ์ง ์๊ฑฐ๋, ํฅ๋ฏธ๋ฅผ ์์ ์ ์์ต๋๋ค. ๊ทธ๊ฒ์ ๊ด๋ฆฌํ๋ ๊ฒ์ ๋น์ ์ ์ผ์ ๋๋ค"๋ผ๊ณ ๋งํ๊ณ ์์ต๋๋ค. ์ด์ฉ๋ฉด ๊ทธ๊ฒ์ด ์ด ํ๋ก์ ํธ์ ๋ณธ์ง์ด๊ณ ๊ทธ๋์ผ ํ๋ ๊ฒ์ธ์ง๋ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค.
๋๋ ์ด๊ฒ์ ๊ณ์ํ์ง ์์ ๊ฒ์ด๋ผ๊ณ ๋งํ์ง๋ง, ์ด ์ ์ด ๋ง์์ ์ ๋ฟ์๋ค. ๋๋ ์ฐ๋ฆฌ์ ์ ๊ทผ ๋ฐฉ์์ ๋ํด ๊ทธ๋ ๊ฒ ์๊ฐํ์ง ์์ง๋ง, ์ด์ ๋น์ ์ด ๊ทธ๊ฒ์ ๊ทธ๋ ๊ฒ ์๊ฐํ๊ณ ๊ทธ๊ฒ์ด ๊ทธ๋ฐ ๋ฐฉ์์ผ๋ก ๋ํ๋ ์ ์๋ค๋ ๊ฒ์ ์์์ต๋๋ค. ์์งํ ๋งํด์ "์ฐ๋ฆฌ๋ ๋ง์์ด ๋ฐ๋๊ฑฐ๋, ์๋ก ์๊ฒฌ์ด ๋ง์ง ์๊ฑฐ๋, ํฅ๋ฏธ๋ฅผ ์์ ์ ์๋ค"๋ ๊ฒ์ด ์ฌ์ค์ ๋๋ค. ๊ฒฐ๊ตญ ์ฐ๋ฆฌ๋ ๋ชจ๋ ๋ค๋ฅธ ์ฝ์์ ๊ฐ์ง ์ฌ๋๋ค์ผ ๋ฟ์ด์ง๋ง, ์ ๋ ๊ทธ๊ฒ์ ์๋ก์ด ๊ธฐ์ฌ์๊ฐ ํด์ผ ํ ๊ฒ์ผ๋ก ์๊ฐํ์ง ์์ต๋๋ค. "๊ด๋ฆฌํ๋ค". ์คํ๋ ค ์ฌ๋๋ค์ ๋ํ๋ ํ์ค์ผ ๋ฟ์ธ๋ฐ, ๋๋ฌด ๋ง์ด ํ๋ฉด ์๋ก์ด ๊ธฐ์ฌ์๋ค์๊ฒ ๋ฌธ์ ๋ฅผ ๋ ๋๊ธฐ๋ ๊ฒ์ฒ๋ผ ๋๊ปด์ง๋ค๋ฉด ๊ทธ๊ฒ์ ์๋ชป๋ ๊ฒ์ ๋๋ค.
์ง์ ํด ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค. ๋ช ์ฌํ๊ณ ์์ผ๋ก ๊ทธ๋ฐ ์ธ์์ ์ฃผ์ง ์๋๋ก ๋ ธ๋ ฅํ๊ฒ ์ต๋๋ค.
์ ์๊ฐ์๋ ๋ง์ ๋ฌธ์ ๊ฐ ์ฐ๋ฆฌ๊ฐ ๋งค์ฐ ๋ถ์กฑํ๋ค๋ ์ฌ์ค๋ก ๊ท๊ฒฐ๋์ด ๊ฒฐ๊ตญ ๋ชจ๋ ๊ฒ์ ์ถ์ ํ๊ณ ํ์ ์กฐ์น๋ฅผ ์ทจํ๊ธฐ ์ด๋ ต๊ฒ ๋ง๋ ๋ค๊ณ ์๊ฐํฉ๋๋ค. ์ฐ๋ฆฌ๋ณด๋ค ๋ ๋ง์ ์ ์ฌ์ ๊ธฐ์ฌ์๊ฐ ์์ผ๋ฏ๋ก ํ ๋ฒ์ ๋ณ๊ฒฝํ๋ ค๋ ์ฌ๋ฌ ์ฌ๋์ด ์์ ๋ ์๋๋๊ธฐ ์ฝ์ต๋๋ค. ๋ ํฐ ๋ณํ, ๋๋ ๋ช ํํ ํฉ์๊ฐ ์๋ ๋ณํ๋ ๋ค๋ฃจ๊ธฐ ๊ฐ์ฅ ์ด๋ ค์ด ๊ฒฝํฅ์ด ์์ผ๋ฏ๋ก ๊ฐ์ฅ ๊ณ ํต๋ฐ๋ ๊ฒฝํฅ์ด ์์ต๋๋ค :(
์ํ๊น์ด ์ํฉ์ ์ฐ๋ฆฌ ๋ชจ๋๊ฐ ์ฌ๊ธฐ์์ ํ๋ก์ธ์ค๋ฅผ ํตํด ๋ชจ๋ ๊ธฐ์ฌ์๋ฅผ ์๋ดํ๋ ๋ฐ ๋์์ ์ฃผ๊ณ ์ถ์ง๋ง ์ธ๋ ฅ์ด ์๋ค๋ ๊ฒ์ ๋๋ค. ์ด๊ฒ์ ์ฝ๊ฐ์ ์ ์ฑ ์ฃผ๊ธฐ๋ฅผ ๊ฐ๋ ๊ฒฝํฅ์ด ์์ต๋๋ค. ์๋ํ๋ฉด ์ฐ๋ฆฌ๋ ๊ทธ๋ ๊ฒ ํ ์ ์๋ ์ธ๋ ฅ์ด ์๊ธฐ ๋๋ฌธ์ pip๊ฐ ์๋ํ๋ ๋ฐฉ์์ ๋ํ ๋ฉํ๋ฆฌํฐ๋ฅผ ๊นจ๋ฌ์ ๊ฒ์ฒ๋ผ ๋ณด์ด๋ ์๋ก์ด ์ฌ๋๋ค์ ์ฝ๊ฒ ์ฐพ์ ์ ์์ต๋๋ค. ๊ทธ๋ค์๊ฒ pip์ ๋ํ ์ปค๋ฐ ๊ถํ์ ์ฃผ๊ธฐ์ ์ถฉ๋ถํฉ๋๋ค. ์ด๊ฒ์ ์ฐ๋ฆฌ๊ฐ ์ง์์ ์ผ๋ก ์ธ์์ด ๋ถ์กฑํ๊ณ ๋จธ๋ฆฌ๋ฅผ ๋ฌผ ์๋ก ์ ์งํ๊ธฐ ์ํด ๊ณ ๊ตฐ๋ถํฌํ๊ณ ์์์ ์๋ฏธํฉ๋๋ค(์ ์ด๋ ๋ด๊ฐ ๋๋ผ๋ ๋ฐ์ ๋๋ค. ์ฃผ๋น 70-90์๊ฐ์ ์ผ์ ํ๊ฒ ์ ์งํ๋ ๊ฒ์ ์ฌ๋์๊ฒ ์ ๋ง ํ๋ ์ผ์ ๋๋ค./).
@pradyunsg ๋ฆฌ๋ทฐ #3972๋ ๋ด TODO ๋ชฉ๋ก์ ์์ง๋ง ์์ง ์ ์คํ์ง ์์์ต๋๋ค.
@pradyunsg ๋ฆฌ๋ทฐ #3972๋ ๋ด TODO ๋ชฉ๋ก์ ์์ง๋ง ์์ง ์ ์คํ์ง ์์์ต๋๋ค.
๊ฐ์ฌ ํด์!
์ด๊ฒ์ ์ฐ๋ฆฌ๊ฐ ์ง์์ ์ผ๋ก ์ธ์์ด ๋ถ์กฑํ๊ณ ๋จธ๋ฆฌ๋ฅผ ๋ฌผ ์๋ก ์ ์งํ๊ธฐ ์ํด ๊ณ ๊ตฐ๋ถํฌํ๊ณ ์์์ ์๋ฏธํฉ๋๋ค(์ ์ด๋ ๋ด๊ฐ ๋๋ผ๋ ๋ฐ์ ๋๋ค. ์ฃผ๋น 70-90์๊ฐ์ ์ผ์ ํ๊ฒ ์ ์งํ๋ ๊ฒ์ ์ฌ๋์๊ฒ ์ ๋ง ํ๋ ์ผ์ ๋๋ค./).
๊ทธ๊ฑด ์ด๋ ต๋ค. Numpy์ Scipy๋ ๋ด๊ฐ ์์ ์ ์์ํ์ ๋ ๊ทธ๋ฐ ์ํฉ์ ์์์ต๋๋ค. ์ฌ๋ฏธ ์์ด. ๋น์ ์ด ํ๋ ๋ชจ๋ ๊ฒ์ ๊ฐ์ฌ๋๋ฆฝ๋๋ค.
์ด ๋ฌธ์ ๋ ์ด์ ์ ๋ง ๊ธธ๊ณ ์ ๋ง ์ค๋๋์๊ณ , ๋ง์ ๊ฒ๋ค์ด ๋ ผ์๋์์ผ๋ฉฐ ๋๋ฌด ๋ง์ ์ผ์ด ๋ฐ์ํ์ผ๋ฉฐ ์ด ๋ฌธ์ ๋ ๊ฑฐ์ ๋ฎ์ ์ ํธ/๋ ธ์ด์ฆ์ ๋๋ฌํ์ต๋๋ค. ๋ชจ๋ ์ผ์ด ์ผ์ด๋ ๊ฒ์ ๋ณด๊ธฐ๋ ์ด๋ ต์ต๋๋ค.
FWIW์์ upgrade
์ด ์นด๋์ ์์๋ ์ด์ ๋ install --upgrade
์ ๊นจ์ง ๊ธฐ๋ณธ๊ฐ์ด ์๊ธฐ ๋๋ฌธ์
๋๋ค. ์ด์ ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋ฐ ํ ๊ฑธ์ ๋ ๋ค๊ฐ์ฐ๊ธฐ ๋๋ฌธ์ ์๋ก์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๊ฒ์ด ๊ฐ์ฅ ์ข์ต๋๋ค.
์์ ๋ฌธ์ ๋ก ์ธํด ์ด ๋ฌธ์ ๊ฐ ์ข ๋ฃ๋์์ผ๋ฉฐ ์ฌ๊ธฐ์์ ํด๊ฒฐ๋์ง ์์ ๊ฒ์ผ๋ก ๋ณด์ด๋ ๋ชจ๋ ๋ฌธ์ ์ ๋ํด ์๋ก์ด ๋ฌธ์ ๊ฐ ์์ฑ๋ ๊ฒ์ ์ ์ํฉ๋๋ค. 2๊ฐ์ง๋ฅผ ๋ณผ ์ ์์ต๋๋ค.
only-if-needed
ํฉ๋๋ค.16๋ 9์ 15์ผ์ Nick Coghlan [email protected] ์ ๋ค์๊ณผ ๊ฐ์ด ์ผ์ต๋๋ค.
@RonnyPfannschmidt Windows ์ฌ์ฉ์๋ ์ฌ์ ํ Linux ์ฌ์ฉ์๋ฅผ 18:1๋ก ๋ฅ๊ฐํ๋ฉฐ,
๋ฐฐํฌํ ํจํค์ง ๊ด๋ฆฌ ์ปค๋ฎค๋ํฐ์ ๋น๊ตํ ๋งํ ๊ฒ์ด ์์ต๋๋ค.
์ด ์์ ์์ ๋์ฒด(ํต์ฌ ๊ธฐ์ ์ ์ต๊ทผ์
๋ฒ์ , ํจํค์ง ๋ฐ ํ๋ ์ด์ ์ปค๋ฎค๋ํฐ๋ ๊ทธ๋ ์ง ์์ต๋๋ค). ์ฆ ๊ทธ๋ค์
pip ๋ฐ conda์ ๊ฐ์ ์ฌ์ฉ์ ์์ค ๋๊ตฌ์ ํจ์ฌ ๋ ์์กดํ์ฌ
๋์จํ๊ฒ.
๊ทธ๋ผ ์๋๊ฐ
์ฝ๋ค ์
๋ฐ์ดํธ --all
์ถฉ๋ถํ๋ค?
@Liso77
๊ทธ๋ ์ง ์์ต๋๋ค.
Conda์ pip๋ ๋ค๋ฅธ ๋ชฉํ๋ฅผ ๊ฐ์ง ๋๊ตฌ์ ๋๋ค. ์ด๊ฒ์ ์ด ์ฃผ์ ์ ๋ํ ํ๋ฅญํ ๊ธ์ ๋๋ค. 3๋ฒ ํญ๋ชฉ์ด ๊ฐ์ฅ ๊ด๋ จ์ด ์์ต๋๋ค.
๋ชจ๋ ์ ๊ทธ๋ ์ด๋์ ๋ํ ๋ ผ์๊ฐ ๋ค์ ํ๋ฉดํ๋๋ฉด(์ ๋ฌธ์ ๊ฐ ๋๊ธฐ๋ฅผ ๋ฐ๋๋๋ค) ๋ด ํฌํ๋ ๋ค์๊ณผ ๊ฐ์ด ์ฒ ์๋ฅผ ์ง์ ํ๋ ๊ฒ์ ๋๋ค.
pip install --upgrade :all:
pip install --upgrade :all:
์(๋) ๋งค์ฐ ์ด์ํฉ๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก ์ค๋๋ ๋ชจ๋ ์ฌ๋๋ค์ด ํ๊ณ ์๋ POSIX ์๋ฏธ๋ก ์ ๊ณ ์ํฉ์๋ค: pip install --upgrade --all
ํจํค์ง ์ด๋ฆ์ด๋ ์ง์ ์๊ฐ ์๋ pip install --upgrade
์ด๋ป์ต๋๊น? ์ค์๋ก ์ฝ๊ฒ ์คํํ๋ ค๋ฉด?
pip-tools ๋ pip-compile -P
ํฉ๋๋ค.
์ฐ๋ฆฌ๊ฐ ์ผ์ ํ๊ณ ๋๋ฉด ์ฐ๋ฆฌ๋ ์์ ๊ฑฐ ๋ณด๊ด์๋ฅผ ํด์ผ ํ ์ง๋ ๋ชฐ๋ผ
๊ตฌํ... :)
2017๋ 2์ 12์ผ ์ผ์์ผ 20:55 FichteFoll [email protected]์์ ๋ค์๊ณผ ๊ฐ์ด ์ผ์ต๋๋ค.
ํจํค์ง ์ด๋ฆ ์์ด pip install --upgrade ๋๋
์ง์ ์? ์ค์๋ก ์ฝ๊ฒ ์คํํ๋ ค๋ฉด?โ
๋น์ ์ด ์ธ๊ธ๋์๊ธฐ ๋๋ฌธ์ ์ด๊ฒ์ ๋ฐ๋ ๊ฒ์ ๋๋ค.
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ณ GitHub์์ ํ์ธํ์ธ์.
https://github.com/pypa/pip/issues/59#issuecomment-279225595 ๋๋ ์์๊ฑฐ
์ค๋ ๋
https://github.com/notifications/unsubscribe-auth/ADH7SfnSBflH8rK3nFLw1hvYBaovjbcGks5rbyRUgaJpZM4AJ4Py
.
pip list --outdated
์์ ์ง์ ์์งํ ์ ์๋ ํ์์ผ๋ก ๋ชฉ๋ก์ ์์ฑํ๋ sed
, cut
๋ฑ ์์ด) pip install --upgrade
(์: pip list --outdated --format install | xargs pip install --upgrade
๋๋ ๋ฐฑํฑ๊ณผ ์ ์ฌํ ๊ฒ)?
์ด๋ค ๊ตฌ๋ฌธ์ด ์ฌ์ฉ๋๋ ๊ฐ์ฅ ์ค์ํ ๊ฒ์ ์ด ๋ช ๋ น์ ๋์ ํ๋ ๊ฒ์ ๋๋ค.
๊ทธ ๋์ ๋๋ ๋น์ ์ด ์๋ํ๋ ๊ฒ์ด ์ข์ต๋๋ค
https://github.com/jgonggrijp/pip-review
pip-review --local --interactive
๋ก ์
๋ฐ์ดํธํ๋ ค๋ฉด ํจํค์ง๋ณ๋ก ์์ฒญํ์ญ์์ค. ๋ณ๋ก ์ข์ง๋ ์์ง๋ง ์๋ ๊ฒ๋ณด๋ค๋ ๋ซ์ต๋๋ค.
@SMH17 ๊ณ ๊ฐ์ ๋์ ํ์ฌ Python ํจํค์ง ์ฌ์ฉ์ฑ ๊ฐ์ ์์ ์ ์๊ธ์ ์ง์ํ๋ ๊ฐ๋ฐ ์๊ฐ์ ๊ณต์์ ์ผ๋ก ์ ๊ณตํ๋ ์์ฉ Python ๊ณต๊ธ์ ์ฒด๊ฐ ์ ํํ 0๊ฐ์ด๊ธฐ ๋๋ฌธ์ ์์ง ๋๋ฝ๋์๋ค๋ ๊ฒ์ด ์ ์ ์ผ๋ก ๋ฏฟ์ ์ ์์ต๋๋ค.
๋น์ ์ ์ํฉ์ด ๊ฐ์ ๋ณด๊ณ ์ถ์ด ๊ทธ๋ ๋ค๋ฉด, ๊ทธ๊ฒ์ ๋น์ ์ด ๊ฐ์ธ์ ์ผ๋ก ํ ์์๋ ๊ฐ์ฅ ์ ์ฉํ ๊ฒ ์ค ํ๋๋ฅผ ์ฌ์ฉํ๋ ๋๊ตฌ๋ฅผ ๊ฐ์ ๊ฐ๋ฐ์ ์๊ฐ์ ํฌ์ ํ์ด์ฌ ์ง์ ์ ์ฒด๋ฅผ ๊ฒฉ๋ คํ๋ ๊ฒ์ ๋๋ค ๊ฐ๋ฅ์ฑ, ๋๋ ๋น์ ์ด์๋ ๊ฒฝ์ฐ ์์ง ๊ณต๊ธ์ ์ฒด๋ฅผ ์ง์ํ์ง ์๋ ๊ฒฝ์ฐ ๊ณ ์ฉ์ฃผ๊ฐ ๋น์ฉ์ ์ง๋ถํ๋๋ก ๊ถ์ฅํฉ๋๋ค.
์ด ๋ฌธ์ ์ ๊ด๋ จํ์ฌ ๊ธด๊ธํ์ง ์์ ์ํฉ์ ๋ํ ์ถ๊ฐ ์ปจํ ์คํธ๋ก, ์ผ๋ฐ์ ์ธ ๊ถ์ฅ ์ฌํญ์
๊ทธ๋ ๋ค๊ณ ํด์ ์ฌ๊ธฐ์ ์ ์๋ ๋ช
๋ น์ด ์ ์ฉํ์ง ์๋ค๋ ์๋ฏธ๋ ์๋๋๋ค. ํ์ฌ ์์
ํ๊ฒฝ์ด ์ด๋ฏธ pip-compile
+ pip-sync
๋๋ pipenv lock
ํตํด ์ ์ง ๊ด๋ฆฌ๋๊ณ ์๋ ๊ฒฝ์ฐ ๊ทธ ๊ฐ์น๊ฐ ํ์ ํ ๋จ์ด์ง๋๋ค. pipenv install
.
@qwcode๊ฐ ์
๋ฐ์ดํธํ ์ดํ pip install
์ ๋ช ๊ฐ์ง ๋ณ๊ฒฝ ์ฌํญ์ด ์์๋ ๊ฒ ๊ฐ์ผ๋ฏ๋ก ์๋ ์ค๋ช
์ ์
๋ฐ์ดํธํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
์๋ ํ์ธ์ ์ฌ๋ฌ๋ถ.
๋ค์ ๋ช ๋ น์ผ๋ก ์ธํด ์ผ๋ถ Python ํจํค์ง ์ข ์์ฑ์ด ์์๋์์ต๋๋ค.
pip install --upgrade packageName
์ ํจํค์ง๋ฅผ ์ฌ๊ท์ ์ผ๋ก ์
๊ทธ๋ ์ด๋ํ์ต๋๋ค.
--upgrade
์ต์
์ ๊ธฐ๋ณธ ๋์์ ๋ณ๊ฒฝํ์ง ์๋ ์ด์ ๋ ๋ฌด์์
๋๊น? ์ฆ, ๋ช
๋ น์ค์์ ์ง์ ๋ ํจํค์ง๋ง ์ ๊ฑฐํ๊ณ ๋ค์ ์ค์นํ๋ ๊ฒ์
๋๋ค.
์ด๊ฑด ์ด๋์ ?
@sebma ๊ธฐ๋ณธ ๋์์ ๋ณ๊ฒฝ๋์ด์๋ ์๋๋ค๊ณ ์๊ฐํฉ๋๋ค. ๋ค์์ -no-dependencies
ํ๋๊ทธ๋ฅผ ์ฌ์ฉํด ๋ณผ ์๋ ์์ต๋๋ค. ์๋ํด์ผ ํฉ๋๋ค:+1:
@sebma , @aaossa , ๊ธฐ๋ณธ ์
๊ทธ๋ ์ด๋ ์ ๋ต์ด ๋ฏธ๋์ ๋ณ๊ฒฝ๋ ๊ฒ์ด ์ด๋ฏธ ๊ฑฐ์ ๊ฒฐ์ ๋์์์ ๋ ์ฌ๋ ๋ชจ๋์๊ฒ ์๋ ค๋๋ฆฝ๋๋ค(์ฐธ์กฐ: https://github.com/pypa/pip/issues/3871# ๋ฌธ์ ์๊ฒฌ-247789343). ํ์ํ ๊ธฐ๋ฅ(์: --upgrade-strategy
์ธ์)์ด https://github.com/pypa/pip/pull/3972 ์ ์ถ๊ฐ๋์์ต๋๋ค
@pradyunsg๊ฐ ์์ ์ธ๊ธ ํ๋ฏ์ด ์ด ๋ฌธ์ ๋ ์ผ์ข ์ ๋จ์ ๋ฌธ์ ์ ๋๋ค. ์ฒซ ๋ฒ์งธ ๋ถ๋ถ์ ํ์ฌ ์ฒ๋ฆฌ๋๊ณ ์์ผ๋ฉฐ(๋ด ์ฒซ ๋ฒ์งธ ๋จ๋ฝ ์ฐธ์กฐ) ๋ ๋ฒ์งธ ๋ถ๋ถ์ ์ด ํจํค์ง๊ฐ ์ฌ์ ํ ์ด๋ ค ์๋ ์ ์ผํ ์ด์ ์ธ ๊ฒ ๊ฐ์ต๋๋ค. ๊ทธ ์ดํ๋ก ๋ณ๋์ "์ ๊ทธ๋ ์ด๋ ์ ์ฒด" ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋์ง ๋ชจ๋ฅด๊ฒ ์ต๋๋ค.
์๊ตฌ ์ฌํญ ํ์ผ์ ๋ํ ๋ฉ์ง ๋ํ์ ์ ๊ทธ๋ ์ด๋ ํ๋ก๊ทธ๋จ์ ์ถ์ํ์ต๋๋ค. https://github.com/simion/pip-upgrader
ํ์ํ ๊ฒฝ์ฐ์๋ง ๊ธฐ๋ณธ ์ ๊ทธ๋ ์ด๋ ์ ๋ต์ ์ ํํฉ๋๋ค.
#988์ ์์กดํ๋ "์ธ๊ณ ์ ๊ทธ๋ ์ด๋" ๊ธฐ๋ฅ์ ์ถ๊ฐํ์ญ์์ค.
ํ์ฌ ํ ํฌ์คํธ์์ ์ง์ ํ ์ฌํญ์ ๋ํด ๋ค์๊ณผ ๊ฐ์ด ์ค๋ช ํฉ๋๋ค.
pip upgrade๋ ๊ธฐ๋ณธ์ ์ผ๋ก ๋น์ฌ๊ท์ (--recursive ์ต์ ์ ๊ณต)์ด๋ผ๋ ์ ์ ์ ์ธํ๊ณ pip install --upgrade์ ๊ฐ์ต๋๋ค. ํ์ฌ์ ์ฌ๊ท์ ๊ธฐ๋ณธ ๋์์ ๋ง์ ์ฌ๋๋ค์๊ฒ ์ฌํ์ ์๊ฒจ์ฃผ์์ต๋๋ค(#304). ์ง๊ธ ๋น์ฌ๊ท์ ์ ๊ทธ๋ ์ด๋๋ฅผ ์ํํ๋ ๋ฐฉ๋ฒ์ ์ฌ๊ธฐ๋ฅผ ์ฐธ์กฐํ์ญ์์ค.
์
๊ทธ๋ ์ด๋ ๋ช
๋ น์ ์ถ๊ฐํ๊ฑฐ๋ pip install upgrade ์ด๋ฏธ ์ค์น๋ ํจํค์ง๋ฅผ ๋ง๋ค์ง ์๊ธฐ๋ก ๊ฒฐ์ ํ์ต๋๋ค. pip๋ ์ด์ ๊ธฐ๋ณธ์ ์ผ๋ก ๋น์ฌ๊ท์ ์
๊ทธ๋ ์ด๋๋ฅผ ์ง์ํ๋ฉฐ --upgrade-strategy eager
๋ค์์ ์ฌ๊ท ๋์์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
pip upgrade-all์ ์ค์น๋ ๋ชจ๋ ํจํค์ง๋ฅผ ์ ๊ทธ๋ ์ด๋ํฉ๋๋ค.
@dstufft @xavfernandez @pfmoore ์ด ๋ฌธ์ ๋ฅผ ๋ซ์์ผ ํ๋ค๊ณ ์๊ฐํ๋ ์ฌ๋์ด ์์ต๋๊น?
ํธ์ง (2017๋ 5์ 18์ผ): ๊ตฌ๋์ + ์์ ํ ์คํธ ์ถ๊ฐ๋จ
ํฉ๋ฆฌ์ ์ธ ๊ฒ ๊ฐ์ต๋๋ค.
์ฌ๋ฌ๋ถ ์๋
ํ์ธ์,
์์
์ ์ํํ๋ ๊ฐ๋จํ ์คํฌ๋ฆฝํธ/์์ ์ ๋ง๋ค์์ต๋๋ค.
https://gist.github.com/serafeimgr/b4ca5d0de63950cc5349d4802d22f3f0
๋จ์ํ ์ด๊ฒ์ ํ์ง ์๋ ์ด์ ๋ ๋ฌด์์ ๋๊น?
pip install --upgrade $(pip list --outdated | awk '{print $1}' | tr '\n' ' ')
๋ค๋ฅธ ํจํค์ง์ ์ข ์์ฑ์ ์ถฉ์กฑํ์ง ์๋ ๋ฒ์ ์ ์ค์นํ ์ ์๊ธฐ ๋๋ฌธ์ ์ค์ ๋ก๋ ์ฝ์ง ์๊ธฐ ๋๋ฌธ์ ๋๋ค.
@serafeimgr ์ ์์ ์ ๊ธฐ๋ฐ์ผ๋ก ๊ทธ๋ฆฌ๊ณ ๋๋ถ์ ์ ๋ ์ ์ฉํ ์ ์๋ ๋ช ๋ น์ค ๋๊ตฌ pip_upgrade_outdated ๋ฅผ ์์ฑํ์ต๋๋ค . github์ ์์ค . ํผ๋๋ฐฑ ํ์ํฉ๋๋ค.
( ์ด ๋ฌธ์ ๋ ์ฐธ์กฐํ์ญ์์ค. ์, ๋ณ๋ ฌ ์คํ์ ํนํ ์ํํ๋ฉฐ, ์, ์ด๋ก ์ธํด ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค. ๊ทธ๋ผ์๋ ๋ถ๊ตฌํ๊ณ ๋ง์ ์ฌ๋๋ค์ด ์ด์ ๊ฐ์ ๊ฒ์ ํญ์ ์์ผ๋ก ์คํํ๋ฏ๋ก ์ ์ฉํ ์ ์์ต๋๋ค.)
์๊ฐ์ ๋ด์ด ์์ ํ ์๋ฃจ์
์ ๊ตฌ์ถํด ์ฃผ์
์ ๊ฐ์ฌํฉ๋๋ค.
์ด ๊ธฐ๋ฅ์ ํ์ผ๋ก ํธ์ํ๋ ๋ฐฉ๋ฒ์ ์ฐพ๋ ๊ฒ์ด ์ข์ต๋๋ค.
์ด์จ๋ pipenv & pipfile์ด pip/requirements.txt๋ฅผ ๋์ฒดํ ๊ฒ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค.
์๋ง๋ @kennethreitz ๊ฐ ๋ก๋๋งต๊ณผ --upgrade all ๊ธฐ๋ฅ์ ๋ํด ๋ ๋ง์ด ์๊ณ ์์ ๊ฒ์
๋๋ค.
@qoheniac | tr ...
์ด(๊ฐ) ์ค๋ณต๋ฉ๋๋ค.
์ด ์ค๋ ๋๋ ๋ซํ ํ ์ต๊ทผ ํ๋์ด ์์๊ธฐ ๋๋ฌธ์ ์๋์ผ๋ก ์ ๊ฒผ์ต๋๋ค. ๊ด๋ จ ๋ฒ๊ทธ์ ๋ํ ์ ๋ฌธ์ ๋ฅผ ์ฌ์ญ์์ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
์์ผ๋ก 10๋ ์์ ์ด๊ฒ์ ๊ตฌํํ์๊ฒ ์ต๋๊น?