์ผ๋ฐ์ ์ธ ๋ฌธ์ ์ ๋ํ ์ง๋จ ๋ฌธ์ ๋ฅผ ํ์ธํ์ต๋๋ค. ์๋ ์ฌํ ๋จ๊ณ์์ ๋ด (๊ฒฐํจ์ด์์ ์์๋) ์ํฌ ํ๋ก๋ฅผ ์ค๋ช ํ์ต๋๋ค. ๋๋ ๋ช ์ฃผ ๋์ ๋ ์์ ์ ๋น๋ํ๋ฉฐ์ด ๋ฌธ์ ๋ฅผ ๋ค๋ฃจ์ด ์์ผ๋ฉฐ ์ด๊ฒ์ด ๋ ๋ฒ๋ ๊ฐ๋๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.
Pipfile.lock์ ๊ธฐ๋ณธ ์น์ ์ ๋์ด๋ ๋ง์ง๋ง ์ธ๋ถ ํจํค์ง๊ฐ ๋ก์ปฌ๋ก ์๋ชป ํ์๋๊ณ ํธ์ง ๊ฐ๋ฅํจ
๋์ด๋ ๋ง์ง๋ง ์ธ๋ถ ํจํค์ง๋ ์ฌ์ ํ pypi์์ ์ ๊ณต๋ฉ๋๋ค.
๋ด Pipfile.lock์ ๋ช ๋ฐฑํ ์ด์ ๋ก CI ๋ฐ ๋ค๋ฅธ ์ฌ์ฉ์๋ฅผ ์ค๋จ์ํค๋์ด diff๋ฅผ ํฌํจํฉ๋๋ค.
"version": "==1.25.10"
},
"wrapt": {
- "hashes": [
- "sha256:b62ffa81fb85f4332a4f609cab4ac40709470da05643a082ec1eb88e6d9b97d7"
- ],
- "version": "==1.12.1"
+ "editable": true,
+ "path": "."
}
},
"develop": {
[[source]]
name = "pypi"
url = "https://pypi.org/simple"
verify_ssl = true
[dev-packages]
flake8 = "3.8.3"
pytest = "5.4.3"
pytest-cov = "2.10.0"
termcolor = "1.1.0"
[packages]
mycli = {editable = true, path = "."}
[requires]
python_version = "3.7"
(mycli์๋ python ํด๋ฆญ์ ๋ํ ์ง์ ์ ์์ฑ์ ์ฉ์ดํ๊ฒํ๋ setup.py๊ฐ ์์ผ๋ฉฐ ๋น ๊ฐ๋ฐ ์ข ์์ฑ์ ์ ์ํฉ๋๋ค)
์ด ํ๋ก์ ํธ๋ CLI ์ ํธ๋ฆฌํฐ์ด๋ฉฐ ์ ์ฅ์๋ฅผ ๋ณต์ ํ๊ณ ๋ค์์ ํตํด ์ค์นํฉ๋๋ค.
PIPENV_IGNORE_VIRTUALENVS=1 PIPENV_VENV_IN_PROJECT=1 pipenv install --deploy
์ ์ข
์์ฑ์ ์ถ๊ฐํ๋ ๊ฐ๋ฐ์๋ก์ setup.py
ํธ์งํ๊ณ ๋ค์์ ์คํํฉ๋๋ค.
pipenv lock
์ด๋ ๊ฒํ๋ฉด ์ ์ข
์์ฑ์ด ํฌํจ ๋ Pipfile.lock ํ์ผ์ด ์์ฑ๋์ง๋ง ๋ง์ง๋ง ๊ธฐ๋ณธ ์ข
์์ฑ์ ํ์์ด ์๋ชป๋์์ต๋๋ค (ํด๋น ์์น, ํนํ wrapt
์์ ์ํ๋ฒณ ๋ ๊ทผ์ฒ์์๋ ์ฌ๋ฌ ํจํค์ง์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ต๋๋ค. ๋ฐ zipp
)
๋ค์๊ณผ ๊ฐ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ณ ์ฌ๋ฐ๋ฅธ Pipfile.lock์ ์์ฑ ํ ์ ์์ต๋๋ค.
rm -rf Pipfile.lock .venv
๊ณผ
pipenv lock
๋ด๊ฐ ์์
์ค์ธ ์์ฉ ํ๋ก๊ทธ๋จ์ด ๋
์ ์ ์ด๋ฉฐ ์ฐ๋ฆฌ ํ๊ฒฝ (๋๋ ๋ณด์ ํ์ด ๋์๊ฒ ์๋ฆฌ๋ฅผ ์ง๋ฅด๋ ๋ณด์ ํ)์ ๋ํด ๊ฑฑ์ ํ๊ธฐ ๋๋ฌธ์ ์๋์ ์ผ๋ก pipenv --support
์ถ๋ ฅ์ ์๋ตํ๊ณ ์์ต๋๋ค. ์คํฌ๋ฝ ํ ์ ์๊ณ ์ ๊ณต ํ ์์๋ ํน์ ์ค ๋ํซ์ด ์์ผ๋ฉด ๊ธฐ๊บผ์ด ์ ๊ณต ํ ์ ์์ง๋ง ๋ชจ๋ ๊ฒ์ ์ ๋ฉด ์คํฌ๋ฝํ๊ณ ์ถ์ง ์์์ต๋๋ค.
์ฝ์ด ์ฃผ์
์ ๊ฐ์ฌํฉ๋๋ค. ๋ ์ ๊ฐ ๋ฉ์ฒญ ํด์ง๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.
๊ฐ์ฌ!
@patelamol ๊ณผ ๋๋ ์ด๊ฒ์ pipenv 2020.08.13์ผ๋ก ์ฌํ ํ ์ ์์ต๋๋ค.
2018.11.26
๊น์ง ๋ชจ๋ ์ต์ ๋ฒ์ ์์์ด ๋ฒ๊ทธ๊ฐ ๋ฐ์ํ์ต๋๋ค. ๋ฐ๋ผ์ 2018.11.26
์๋์ด ๋ฌธ์ ๊ฐ ์์ต๋๋ค.
@jmehnle ๋ฐ @patelamol์ด ์ธ๊ธ
"zipp": {
"editable": true,
"path": "."
},
๋ด ํด๊ฒฐ์ฑ ์ ์์ ํ์ง ์๊ฑฐ๋ ๊ฑด๊ฐํ์ง ์์ pipfile ์ ๊ธ์ ์๋์ผ๋ก ํธ์งํ๋ ๊ฒ์ด ์์ต๋๋ค.
"zipp": {
"hashes": [
"sha256:43f4fa8d8bb313e65d8323a3952ef8756bf40f9a5c3ea7334be23ee4ec8278b6",
"sha256:b52f22895f4cfce194bc8172f3819ee8de7540aa6d873535a8668b730b8b411f"
],
"version": "==3.2.0"
}
์ด ๋ฒ๊ทธ ์์ ๊ณผ ํจ๊ป ๊ณง ๋์ค๋ pipenv ์ ๋ฐ์ดํธ๊ฐ ์๋์ง ๊ถ๊ธํฉ๋๋ค.
@gregflynn @patelamol ๊ทธ๋ ๋ค๋ฉด์ด ๋ฌธ์ ๊ฐ ๋ง์คํฐ ๋ธ๋์น์ ์กด์ฌํฉ๋๊น? ์ฃผ์ด์ง ๋จ๊ณ๋ก ์ฌํ ํ ์ ์์ต๋๋ค.
@gregflynn @patelamol ๊ทธ๋ ๋ค๋ฉด์ด ๋ฌธ์ ๊ฐ ๋ง์คํฐ ๋ธ๋์น์ ์กด์ฌํฉ๋๊น? ์ฃผ์ด์ง ๋จ๊ณ๋ก ์ฌํ ํ ์ ์์ต๋๋ค.
ํ์คํ! ์ด์ ์ github์์ pipenv๋ฅผ ์คํํ์ง ์์๊ณ README์ ์ง์นจ์ด ํ์๋์ง ์์์ผ๋ฏ๋ก ๋จ๊ณ์ ๋ํด ์์ธํ ์ค๋ช ํ๊ฒ ์ต๋๋ค.
pyenv virtualenv 3.7.9 pipenv
&& pyenv local pipenv
&& pip install -e .
$ ~/.pyenv/versions/pipenv/bin/pipenv --version
pipenv, version 2020.8.13.dev0
```
stockquotes == 2.0.0
์ถ๊ฐ~/.pyenv/versions/pipenv/bin/pipenv lock
"wrapt": {
- "hashes": [
- "sha256:b62ffa81fb85f4332a4f609cab4ac40709470da05643a082ec1eb88e6d9b97d7"
- ],
- "version": "==1.12.1"
+ "editable": true,
+ "path": "."
}
},
@frostming ์ ์์ ํ๊ฑฐ๋์ด ํ ์คํธ๋ฅผ ์์ ํ๊ฒ๋์ด ๊ธฐ์ฉ๋๋ค.
๋ฟก๋ฟก
- 2020.8.13์ผ๋ก ์๋ก์ด Venv๋ฅผ ๋ง๋ค์์ต๋๋ค.
์ด ๋จ๊ณ๊ฐ ๋ฒ๊ทธ๋ฅผ ์ฌํํ๋ ๋ฐ ์ค์ํฉ๋๊น? ๋ง์คํฐ Pipenv๋ก ์์ฑํ๊ณ ์ฌํ ํ ์ ์์ต๋๋ค. ๊ฐ๋ฅํ ๊ฒฝ์ฐ ๋์ปค ์ด๋ฏธ์ง๊ฐ ํฐ ๋์์ด ๋ ๊ฒ์ ๋๋ค.
๋ฟก๋ฟก
- 2020.8.13์ผ๋ก ์๋ก์ด Venv๋ฅผ ๋ง๋ค์์ต๋๋ค.
์ด ๋จ๊ณ๊ฐ ๋ฒ๊ทธ๋ฅผ ์ฌํํ๋ ๋ฐ ์ค์ํฉ๋๊น? ๋ง์คํฐ Pipenv๋ก ์์ฑํ๊ณ ์ฌํ ํ ์ ์์ต๋๋ค. ๊ฐ๋ฅํ ๊ฒฝ์ฐ ๋์ปค ์ด๋ฏธ์ง๊ฐ ํฐ ๋์์ด ๋ ๊ฒ์ ๋๋ค.
์ข์ ๋์ด์ง๋ง ๋ค์๊ณผ ๊ฐ์ด ๋ณ๊ฒฝํ์ฌ ์ต์ ๋ง์คํฐ ๋ฒ์ ์ผ๋ก ์ฌํ ํ ์์์์ต๋๋ค. 4 ๋จ๊ณ์์ ์ค์น ์คํฌ๋ฆฝํธ๋ฅผ ์ ๋ฐ์ดํธํ์ต๋๋ค.
-PIPENV_IGNORE_VIRTUALENVS=1 PIPENV_VENV_IN_PROJECT=1 pipenv install --deploy
+PIPENV_IGNORE_VIRTUALENVS=1 PIPENV_VENV_IN_PROJECT=1 $HOME/.pyenv/versions/pipenv/bin/pipenv install --deploy
๊ทธ๋ฆฌ๊ณ ์ฌ์ ํ :
"wrapt": {
- "hashes": [
- "sha256:b62ffa81fb85f4332a4f609cab4ac40709470da05643a082ec1eb88e6d9b97d7"
- ],
- "version": "==1.12.1"
+ "editable": true,
+ "path": "."
}
},
๋ ๋ง์ ๊ฒ์ ์๋ํ๊ฒ๋์ด ๊ธฐ์ฉ๋๋ค! ๊ฐ์ฌ
์ค, ๋๋ ๊ทธ๊ฒ์ ์ฌํํ์ต๋๋ค! ์ค์ํ ์์๊ฐ VENV_IN_PROJECT ์ธ ๊ฒ์ ๋ชฐ๋์ต๋๋ค.
์ค, ๋๋ ๊ทธ๊ฒ์ ์ฌํํ์ต๋๋ค! ์ค์ํ ์์๊ฐ VENV_IN_PROJECT ์ธ ๊ฒ์ ๋ชฐ๋์ต๋๋ค.
: raised_hands : ์ข์ ์์์ ๋๋ค! Dockerfile ์ ๊ณต์ ์ํํํด์ ๋ฏธ์ํฉ๋๋ค. ์ฒ์ ์ฝ์ ๋ ๊ทธ ๋ฉ๋ชจ๋ฅผ ๋์ณค์ต๋๋ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
@jmehnle ๋ฐ @patelamol์ด ์ธ๊ธ
๋ด ํด๊ฒฐ์ฑ ์ ์์ ํ์ง ์๊ฑฐ๋ ๊ฑด๊ฐํ์ง ์์ pipfile ์ ๊ธ์ ์๋์ผ๋ก ํธ์งํ๋ ๊ฒ์ด ์์ต๋๋ค.
์ด ๋ฒ๊ทธ ์์ ๊ณผ ํจ๊ป ๊ณง ๋์ค๋ pipenv ์ ๋ฐ์ดํธ๊ฐ ์๋์ง ๊ถ๊ธํฉ๋๋ค.