๋ ๋งฅ์์์ด ์ค์น pre-commit
์ฌ์ฉํ์ฌ brew
์ฌ์ง์ด์ด 3.7 ํ์ด์ฌ 3.6.5์์ ์
๊ทธ๋ ์ด๋์์ด ๋ฌป์ง ์๊ณ . (3.6.5๋ brew
์ ํต์ ํ์ ์์์ต๋๋ค)
์ด์ pipenv๊ฐ "๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ๋ก๋๋์ง ์์" ์ค๋ฅ์ ํจ๊ป ์คํจํฉ๋๋ค.
Pipenv๋ Python ์ ๊ทธ๋ ์ด๋ ์ ๊ณผ ๊ฐ์ด ์๋ํฉ๋๋ค.
$ pipenv -h
dyld: Library not loaded: @executable_path/../.Python
Referenced from: /usr/local/Cellar/pipenv/2018.5.18/libexec/bin/python3.6
Reason: image not found
Abort trap: 6
๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ์ฌ๋ฐ๋ฅธ ๋ฐฉ๋ฒ์ ๋ฌด์์ ๋๊น? ๋์ 3.7์ ๊ฐ๋ฆฌํค๋๋ก ์ผ๋ถ ๊ตฌ์ฑ ํ์ผ์ ํธ์งํ ์ ์์ต๋๊น?
pipenv
์ด ๋ ๊ด๋ํ๊ณ python3.6
๋์ python3
๋ฐ์ด๋๋ฆฌ์ ์์กดํ ์ ์์ต๋๊น?
์์น ๋ฆฌ๋
์ค๊ฐ 3.6.5์์ 3.7๋ก ์
๊ทธ๋ ์ด๋๋ ๋น์ทํ ๋ฌธ์ ๊ฐ ์์ต๋๋ค. ์ด์ pipenv๋ฅผ ์คํํ๋ ค๊ณ ํ ๋๋ง๋ค ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค. ๋๋ฅผ ์ํด ์๋ํ์ง๋ง ์ค์ ๋ก ์ฝ๊ฐ์ ์ถ์
ํ ํดํน์
๋๋ค. ๋จผ์ pip๋ฅผ ์
๊ทธ๋ ์ด๋ํ๊ณ pipenv๋ฅผ ๋ค์ ์ค์นํ๊ณ pipenv๋ฅผ ์ฌ์ฉํ๋ ๋ชจ๋ ์ ์ฅ์์ ๋ํด ๊ฐ์ ํ๊ฒฝ์ ์ง์ฐ๊ณ ๋ค์ ๋ง๋๋ ๊ฒ์
๋๋ค.
๋๋ ๋ค์๊ณผ ๊ฐ์ ์ผ์ ํ๋ค.
rm -rf `pipenv --venv`
pipenv install --dev
๊ทธ๋ฆฌ๊ณ ์ด๊ฒ์ ์ผ์ํ๋ ๊ฒ ๊ฐ์ต๋๋ค.
์ฐธ๊ณ : Pipfile์ ์๊ตฌ ์ฌํญ๋ python 3.6์์ 3.7๋ก ๋ณ๊ฒฝํด์ผ ํฉ๋๋ค.
์ด๊ฒ์ด ๋์์ด ๋๊ธฐ๋ฅผ ๋ฐ๋๋๋ค. ๊ทธ๋ฌ๋ ๋ ๊ฐ๋ ฅํ ์๋ฃจ์ ์ด ์๋์ง ๊ถ๊ธํฉ๋๋ค...
์ด๋ Homebrew๊ฐ Python์ ๊ตฌ์ฑํ๋ ๋ฐฉ๋ฒ๊ณผ ๊ด๋ จ์ด ์์ต๋๋ค. Pipenv(๋๋ ๋ชจ๋ Python ๋ผ์ด๋ธ๋ฌ๋ฆฌ)๊ฐ ์ด์ ๋ํด ํ ์ ์๋ ์ผ์ ์์ต๋๋ค. ์ด๋ฐ ์ผ์ด ๋ฐ์ํ์ง ์๋๋ก ํ๋ ค๋ฉด Homebrew Python์ ์ค์นํ์ง ๋ง์ญ์์ค. ๊ทธ๋ ๋ค๋ฉด ์ฌ์ค์น๊ฐ ์ ์ผํ ์ต์ ์ ๋๋ค.
๋ฉฐ์น ์ ์ ๋น์ทํ ๋ฌธ์ ์ ๋ํด ์ธ๊ธํ์ง๋ง ํ์ฌ๋ ์ฐพ์ ์ ์์์ต๋๋ค.
@uranusjr ๊ทธ๋๋ ๋ฌธ์์์ ๊ถ์ฅ ํ์ง ์์ต๋๊น?
์, ๊ทธ๋์?
Homebrew ์ค์น๋ ์ผ์ข ์ ๋ณต์กํ๊ณ ์ฐ๋ฆฌ๊ฐ ํต์ ํ ์ ์์ต๋๋ค. ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ์ฝ๊ฐ์ ์ํ์ ๊ฐ์ํด์ผ ํฉ๋๋ค(์ ํฌ ์ค ๋๊ตฌ๋ Mac์ ์ฌ์ฉํ์ง ์์ผ๋ฏ๋ก ์ด์ ๋ํด ๋ง์ ํต์ฐฐ๋ ฅ์ ์ ๊ณตํ ์ ์์ต๋๋ค).
๋๋ฅผ ์ํด ์ผํ ๊ฒ์
brew uninstall mkcert
๋๋ฅผ ์ํด ์ผํ ๊ฒ์ ๋ชจ๋ envs: rm -rf /Users/william/.local/share/virtualenvs/*
๋ฅผ ํต ์ ๊ฑฐํ๊ณ pipenv install
envs๋ฅผ ๋ค์ ์ค์นํ๋ ๊ฒ์
๋๋ค.
@omrihar ์ --dev
ํ๋๊ทธ์ธ๊ฐ์? ๋ฌธ์์๋ "๊ฐ๋ฐ ํจํค์ง์ ๊ธฐ๋ณธ ํจํค์ง๋ฅผ ๋ชจ๋ ์ค์นํ์ญ์์ค."๋ผ๊ณ ๋์ ์์ต๋๋ค. ์ด๊ฒ์ ๋ก์ปฌ ํจํค์ง ์ค์น๋ฅผ ์๋ฏธํฉ๋๊น(์: python setup.py development)?
ํธ์ง: brew-installed pipenv(2018.11.26_2) w/ python3.7 ์ฌ์ฉ. ์ค์น ์ ๊ธ ๋จ๊ณ์์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ต๋๋ค(์: Locking Failed!
๋๋ Locking
์ฐ๋ฆฌ์๊ฒ ๋์์ด ๋ ๊ฒ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
$ brew uninstall pipenv
$ brew install python3.6
$ pip3 install --user pipenv
$ mkdir -p ~/bin
$ ln -s ../Library/Python/3.6/bin/pipenv ~/bin/
์์ง ํ์ง ์์๋ค๋ฉด ~/.bash_profile์ PATH ํ์ ํธ์งํ์ฌ ~/bin/์ PATH์ ์ถ๊ฐํ์ญ์์ค.
...
PATH=/Users/{your_username}/bin:{the_content_that_was_there_before}
...
์์ ๋ซ๊ณ ์ฌ๋ ๊ฒ์ ์์ง ๋ง์ญ์์ค.
์ด ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ฌ ๋ฌธ์ ์ ๋ฐ๋ผ ์คํํ์ฌ ํด๊ฒฐํ์ต๋๋ค.
brew upgrade pipenv
OSX ๋ฒ์ ์ ์ ๊ทธ๋ ์ด๋ํ ํ์๋ ๋์ผํ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ต๋๋ค.
homebrew ์ค์น๋ฅผ ์ ๊ฑฐํ ๋ค์ "Pragmatic Installation" ์ง์นจ์ ๋ฐ๋ผ ํด๊ฒฐ :
pip install --user pipenv
์ง์นจ์ ๋ฐ๋ผ ์ฌ์ฉ์ ๊ธฐ๋ฐ์ ๋ฐ์ด๋๋ฆฌ ๋๋ ํ ๋ฆฌ๋ฅผ PATH์ ์ถ๊ฐํ๋ ๊ฒ์ ์์ง ๋ง์ญ์์ค.
์๋
ํ์ธ์, ๋์ผํ ์ค๋ฅ๊ฐ ๋ฐ์ํ์ง๋ง ๋ฌด์์ ์ ๊ฑฐํด์ผ ํ๋์ง, ์ด๋ป๊ฒ ์ ๊ฑฐํด์ผ ํ๋์ง ์ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค.
pipenv ์ค์น๋ฅผ ์๋ํ๋๋ฐ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋๋ฐ ์ค์น๋์ง ์์ ๊ฒ์ผ๋ก ๋ํ๋ฌ์ต๋๋ค. ์์กฐ ๋ก๊ทธ๋ฅผ ๋ณด๋ฉด AFAIK๊ฐ ์ด์ ์ ์ค์น๋์ง ์์ python3.8์ด ์ค์น๋ ๊ฒ ๊ฐ์ต๋๋ค(3.7 ์ฌ์ฉ).
์ ๊ฑฐ์ ๋ ธ๋ ฅ [email protected] ๊ฒ์ awscli ๊ทธ๊ฒ์ด ์ ์ ์ค์น๋์ง ์์ ๊ฒฝ์ฐ ์ดํด๊ฐ๋์ง ์๋, ๊ทธ๊ฒ์ ์์กดํ๊ธฐ ๋๋ฌธ์ ์ผ์ํ์ง ์์๋ค ...
์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ค๋ฉด ์ผ๋ฐ์ ์ผ๋ก ๋ฌด์์ ์ ๊ฑฐํด์ผ ํฉ๋๊น?
~/Library/Logs/Homebrew์ ์ ์ผํ ๋ก๊ทธ๋ ์ค์น ์์ ๋ถํฐ [email protected] ์
๋๋ค.
์ ๊ฑฐํด์ผ ํ ๊ฒ ๊ฐ๊ตฐ์. ๋ง๋์? (์๋ง๋ awscli๊ฐ ์
๋ฐ์ดํธ๋์๊ฑฐ๋ ๋ญ๊ฐ ...)
๋น์ ์ ๋์์ ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค.
ํ์ด์ฌ์ ์ ๊ฑฐํ๋ ๊ฒ์ด ํธ๋ฆญ์ ์ํํ์ต๋๋ค. ๊ฐ์ฌ ํด์
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
์์น ๋ฆฌ๋ ์ค๊ฐ 3.6.5์์ 3.7๋ก ์ ๊ทธ๋ ์ด๋๋ ๋น์ทํ ๋ฌธ์ ๊ฐ ์์ต๋๋ค. ์ด์ pipenv๋ฅผ ์คํํ๋ ค๊ณ ํ ๋๋ง๋ค ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค. ๋๋ฅผ ์ํด ์๋ํ์ง๋ง ์ค์ ๋ก ์ฝ๊ฐ์ ์ถ์ ํ ํดํน์ ๋๋ค. ๋จผ์ pip๋ฅผ ์ ๊ทธ๋ ์ด๋ํ๊ณ pipenv๋ฅผ ๋ค์ ์ค์นํ๊ณ pipenv๋ฅผ ์ฌ์ฉํ๋ ๋ชจ๋ ์ ์ฅ์์ ๋ํด ๊ฐ์ ํ๊ฒฝ์ ์ง์ฐ๊ณ ๋ค์ ๋ง๋๋ ๊ฒ์ ๋๋ค.
๋๋ ๋ค์๊ณผ ๊ฐ์ ์ผ์ ํ๋ค.
๊ทธ๋ฆฌ๊ณ ์ด๊ฒ์ ์ผ์ํ๋ ๊ฒ ๊ฐ์ต๋๋ค.
์ฐธ๊ณ : Pipfile์ ์๊ตฌ ์ฌํญ๋ python 3.6์์ 3.7๋ก ๋ณ๊ฒฝํด์ผ ํฉ๋๋ค.
์ด๊ฒ์ด ๋์์ด ๋๊ธฐ๋ฅผ ๋ฐ๋๋๋ค. ๊ทธ๋ฌ๋ ๋ ๊ฐ๋ ฅํ ์๋ฃจ์ ์ด ์๋์ง ๊ถ๊ธํฉ๋๋ค...