이것저것 조사해보는데
무식하지만 가장 확실한(?) docker로 버전별로 혹은 프로젝트 별로 생성하는 것부터
python 에서 제공하는 venv
venv를 확장해서 사용하는 virtualenv
그리고 conda 정도로 정리되는 듯.
conda
[링크 : https://m.blog.naver.com/jonghong0316/221683053696]
virtualenv, venv
[링크 : https://jaemunbro.medium.com/python-virtualenv-venv-설정-aaf0e7c2d24e]
conda, venv
[링크 : https://yongeekd01.tistory.com/39]
venv, pipenv, conda, docker(이걸.. 가상이라고 하긴 해야 하는데.. 해줘야 하는거 맞....나?)
[링크 : https://dining-developer.tistory.com/21]
virtualenv, pyenv, pipenv
[링크 : https://jinwoo1990.github.io/dev-wiki/python-concept-3/]
+
conda - Conda provides package, dependency, and environment management for any language.
파이썬 전용이 아닌가?
[링크 : https://docs.conda.io/en/latest/]
[링크 : https://anaconda.org/]
[링크 : https://anaconda.org/anaconda/conda]
+
virtualenv
is slower (by not having the app-data seed method), is not as extendable, cannot create virtual environments for arbitrarily installed python versions (and automatically discover these), is not upgrade-able via pip, does not have as rich programmatic API (describe virtual environments without creating them). |
[링크 : https://virtualenv.pypa.io/en/latest/]
+
venv
[링크 : https://docs.python.org/3/library/venv.html] 3.12.1
venv는 3.7 이후부터 사용이 가능한 것으로 보임. 즉, 버전별로 호환성은 없을 가능성이 있음
pyvenv 스크립트는 파이썬 3.6 에서 폐지되었고, 가상 환경이 어떤 파이썬 인터프리터를 기반으로 하는지에 대한 잠재적인 혼동을 방지하기 위해 python3 -m venv를 사용합니다. |
[링크 : https://docs.python.org/ko/3.7/library/venv.html]