์กฐ์ง ๋ด์์ python ์คํฌ๋ฆฝํธ๋ฅผ ๋ฐฐํฌํ๋ ๊ฐ๋จํ ๋ฐฉ๋ฒ์ ์ฐพ์ผ๋ ค๊ณ ํ ๋ ์ฌ์ฉ ์ค๋จ ๋ฉ์์ง๊ฐ ์์ํ๋ pip๋ฅผ ์ฌ์ฉํ์ฌ ์ ์๋ ์ํฉ์ ํฐ๋ฌด๋ ์์ต๋๋ค.
git ์๋ฒ์ ๋จ์ผ ํจํค์ง๋ฅผ _์ฝ๊ฒ__ ๋ฐฐํฌํ ์ ์์ต๋๋ค(๋๋ถ๋ถ์ ์กฐ์ง์ ์์)...๊ทธ๋ฌ๋ ๋ช ๊ฐ์ง ๋ค๋ฅธ ๋ด๋ถ ํจํค์ง์ ์์กดํ ์ ์๋ ํจํค์ง๋ฅผ ์ฝ๊ฒ ๋ฐฐํฌํ ์ ์์ต๋๋ค.
pip๊ฐ dependency_links ์ฒ๋ฆฌ๋ฅผ ์ ๊ฑฐํ๋ฉด ์ด๋ฌํ ๋ฐฐํฌ ์คํ์ผ์ด ์์ ํ ๋ถ๊ฐ๋ฅํด์ง๋๋ค. ์ด๊ฒ์ ๋ด๊ฐ ๋ณด๊ธฐ์ npm
์ ์์ ํ ๋์กฐ๋์ด ์ด ์์
์ ์์ฒญ๋๊ฒ ์ฝ๊ฒ ๋ง๋ญ๋๋ค.
๋ฌผ๋ก , ์์์ ์ผ๋ก ๋ง๋ค์ง ๋ง์ญ์์ค. ํ์ง๋ง ๋ค๋ฅธ git ์ข ์์ฑ์ด ์๋ ํจํค์ง๋ฅผ pip ์ค์นํ๋ ํ ์ค ๋ช ๋ น์ ๋๋ฃ์๊ฒ ๋ณด๋ผ ์ ์๋ ์ฌ์ด ๋ฐฉ๋ฒ์ด ํ์ํฉ๋๋ค.
์ด์์ ์ธ ์๋ฃจ์
์ pip๊ฐ git ๋ฆฌํฌ์งํ ๋ฆฌ์์ requirements.txt
ํ์ผ์ ์ฒ๋ฆฌํ๋๋ก ํ๋ ๋ฐฉ๋ฒ์ด๋ฏ๋ก ๋ฆฌํฌ์งํ ๋ฆฌ๊ฐ ๋ค๋ฅธ ์๊ตฌ ์ฌํญ์ ๊ตฌ์ฒด์ ์ผ๋ก ์ ์ํ ์ ์์ต๋๋ค(์ด๊ฒ์ git ๋ฆฌํฌ์งํ ๋ฆฌ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ํ์คํ ํ๋ ๊ฒ์ด๊ธฐ ๋๋ฌธ์).
์๋ฒฝํ ๊ฒ์ ๋ค์๊ณผ ๊ฐ์ ๊ฒ์
๋๋ค.
pip install --follow-requirements git+http://my.internal.gitserver/internallibrary.git
์ ๋ขฐํ ์ ์๋ ์๊ตฌ ์ฌํญ์ ๋ํ ํ๋กฌํํธ๋ฅผ ์ ๊ณตํ ์ ์์ต๋๊น?
์ฐ๋ฆฌ๋ (PyPI๊ฐ ์ดํดํ๊ณ ์์กดํ๋ ํจํค์ง๋ฅผ ์ ๋ก๋ํ์ง ์๋๋ก ๊ฐ์ ํ ์ ์๋) ๋์ฒด๊ฐ ๊ตฌํ๋ ๋๊น์ง ์ข ์์ฑ ๋งํฌ๋ฅผ ์ ๊ฑฐํ์ง ์์ ๊ฒ์ ๋๋ค.
@dstufft ์ด ๋์ฒดํ์ ๋ฌด์์ ๋๊น?
๊ฐ์ธ Git ๋ฆฌํฌ์งํ ๋ฆฌ์ ์ ํ๋ฆฌ์ผ์ด์ ์ฑ์ ๋ ๊ฐ์ ํจํค์ง PackageA ๋ฐ PackageB๊ฐ ์ ์ฅ๋์ด ์์ต๋๋ค. ์ฑ์ PackageA์ ์ข ์๋๊ณ PackageA๋ PackageB์ ์ข ์๋ฉ๋๋ค. ์ฑ์ ์๊ตฌ ์ฌํญ์ ์ค์นํ ๋ PackageA์ ์ข ์์ฑ์ผ๋ก PackageB๋ฅผ ์๋์ผ๋ก ์ค์นํ๋ ๋ฐฉ๋ฒ์ ์ฐพ์ง ๋ชปํ์ต๋๋ค.
@connorbode ๋ฆด๋ฆฌ์ค๋ก devpi ์ธ๋ฑ์ค๋ฅผ ์ค์ ํ๋ ๋ฐฉ๋ฒ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. pip๊ฐ devpi๋ฅผ ์ธ๋ฑ์ค๋ก ๊ฐ๋ฆฌํค๊ณ ์ข ์์ฑ ๋งํฌ๊ฐ ํ์ํ์ง ์์ผ๋ฉฐ ์์ ๋คํธ์ํฌ์์ pypi๋ฅผ ๋ฏธ๋ฌ๋ง/์บ์ํฉ๋๋ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
@dstufft ์ด ๋์ฒดํ์ ๋ฌด์์ ๋๊น?
๊ฐ์ธ Git ๋ฆฌํฌ์งํ ๋ฆฌ์ ์ ํ๋ฆฌ์ผ์ด์ ์ฑ์ ๋ ๊ฐ์ ํจํค์ง PackageA ๋ฐ PackageB๊ฐ ์ ์ฅ๋์ด ์์ต๋๋ค. ์ฑ์ PackageA์ ์ข ์๋๊ณ PackageA๋ PackageB์ ์ข ์๋ฉ๋๋ค. ์ฑ์ ์๊ตฌ ์ฌํญ์ ์ค์นํ ๋ PackageA์ ์ข ์์ฑ์ผ๋ก PackageB๋ฅผ ์๋์ผ๋ก ์ค์นํ๋ ๋ฐฉ๋ฒ์ ์ฐพ์ง ๋ชปํ์ต๋๋ค.