0. ๋ฐฐ๊ฒฝ
ํ์ด์ฌ ๋ฒ์ ๊ด๋ฆฌ๋ ์ญ์ ๊ธฐ๋ณธ!! venv
ํ๋ก์ ํธ๋ง๋ค ํ์ํ ํจํค์ง๊ฐ ๋ค๋ฅด๊ณ ๋ฒ์ ํธํ ๋ฌธ์ ๋ฑ ์ฌ๋ฌ ์ด์ ๋ก ์ธํด ๊ฐ์ํ๊ฒฝ์ ๊ตฌ์ถํ๋ ๊ฒ์ด ์ผ๋ฐ์ ์ด๋ค. Python์ ์ฌ์ฉํ๋ ์ฌ๋์ด๋ผ๋ฉด ๋ณดํต Anaconda๋ฅผ ์ด์ฉํ์ฌ ํจํค์ง ๊ด๋ฆฌ๋ ๊ฐ์ํ๊ฒฝ ๊ด๋ฆฌ๋ฅผ ํด๋ดค์ ๊ฒ์ด๋ค. ์ฒ์์ ๋ฐ์ดํฐ ๋ถ์ ํ๋ก์ ํธ๋ฅผ ํ ๋ Anaconda๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ๋ฐํ๊ฒฝ์ ๊ตฌ์ถํ์๋ค. ํ์ง๋ง, Anaconda์์ default๋ก ์ค์น๋๋ ํจํค์ง๋ค ์ค์๋ ๋ด๊ฐ ํ์ํ ํจํค์ง ์ด์ธ์ ๊ฒ๋ค์ด ๋ง์ด ํฌํจ๋์ด ์์ด ๋ฌด๊ฑฐ์ด ๋๋์ด ๋ค์๋ค. ์ข ๋ ๊ฐ๋ฒผ์ด ๊ฐ์ํ๊ฒฝ์์ ์์ ์ ํ๊ณ ์ถ์๋ ํฐ๋ผ Python์์ ๊ธฐ๋ณธ์ผ๋ก ์ ๊ณตํ๋ venv๋ฅผ ์ด์ฉํ์ฌ ๊ฐ์ํ๊ฒฝ ๊ด๋ฆฌ๋ฅผ ํด๋ณด๊ธฐ๋ก ํ๋ค.
ํ์ด์ฌ์์๋ ํจํค์ง๋ฅผ ์ค์นํ ๋๋ ๋ณดํต pip๋ผ๋ ํจํค์ง ๋งค๋์ ๋ฅผ ์ฌ์ฉํ๋๋ฐ, ๊ธฐ๋ณธ์ ์ผ๋ก ํด๋น ์ปดํจํฐ ์์์ ํ์ด์ฌ์ด ์ค์น๋ ๊ฒฝ๋ก์ site-packages ๋๋ ํฐ๋ฆฌ์ ์์ ์ค์น๋ฉ๋๋ค. ๋ ธ๋์ npm์ด๋ ์๋ฐ์ maven๊ณผ ๊ฐ์ ํจํค์ง ๋งค๋์ ๊ฐ ํ๋ก์ ํธ ๋ณ๋ก ํจํค์ง ์ค์น๋ฅผ ์ง์ํ๋ ๋ฐ๋ฉด์, ์์ง๊น์ง ํ์ด์ฌ์ pip๋ ์์คํ ์ ์ญ์ผ๋ก๋ง ํจํค์ง๋ฅผ ์ค์นํ ์ ์์ต๋๋ค.
1. ์๋ ์ฌ์ดํธ๋ฅผ ์ฐธ๊ณ ํ์ฌ ์งํ
์ ์ผ ๋จผ์ ์ฐธ๊ณ ํ ๊ณณ !!
์ค์น
1) 3.9.6
2) 3.11.6
2. Mac์ผ๋ก ์งํ
1) pyenv์ผ๋ก ๋ฒ์ ๊ด๋ฆฌ - python ์ฌ๋ฌ ๋ฒ์ ์ค์น
% pyenv install 3.11.6
python-build: use openssl@3 from homebrew
python-build: use readline from homebrew
Downloading Python-3.11.6.tar.xz...
-> https://www.python.org/ftp/python/3.11.6/Python-3.11.6.tar.xz
Installing Python-3.11.6...
python-build: use readline from homebrew
python-build: use zlib from xcode sdk
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/Users/name/.pyenv/versions/3.11.6/lib/python3.11/lzma.py", line 27, in <module>
from _lzma import *
ModuleNotFoundError: No module named '_lzma'
WARNING: The Python lzma extension was not compiled. Missing the lzma lib?
Installed Python-3.11.6 to /Users/name/.pyenv/versions/3.11.6
ํด๊ฒฐ:
% brew install xz
% pyenv uninstall 3.11.6
% pyenv install 3.11.6
2) Python ๊ฐ์ ํ๊ฒฝ ์์ฑ
2024.05.21
- python --version ํด๋ ์ ๋จ
- ๊ฒฝ๋ก ์ค์ ์ด ์ ๋ชป ๋ ๊ฑฐ ๊ฐ์
- ๊ทผ๋ฐ ์ ๊น... ๋ฌธ์ ๊ฐ ์๊ธด๋ค..
- ๊ทธ๋์ 2024.02.28 ์๋ ๋ด์ฉ์ ์ฐธ๊ณ ๋ง ํด๋ณด๊ธฐใ
- 2์์๋ ๋ถ๋ช ์ ๋๋๋ฐ.. ์๊ทธ๋ฐ๊ฑฐ์ผ
> 2024.02.28
pyenv init
์ ํด๋นํ๋ ๋ด์ฉ์ ์ถ๊ฐ
https://velog.io/@limdongyoung0/pyenv-Failed-to-activate-virtualenv
์ ๋ ๋ชจ์ต์ ํ์ธ
> 2024.05.21
python --version ํ๋ฉด ์ ๋จ
ํด๊ฒฐ:
ํ๊ฒฝ์ค์ ๋ค์ ํด์ฃผ๋๊น ๋๋๋ฐ..!!
code ~/.bash_profile
์๋ ๋ด์ฉ ์ถ๊ฐ ํ์
source ~/.bash_profile
export PATH="$HOME/.jenv/bin:$PATH"
eval "$(jenv init -)"
eval "$(pyenv init --path)"
๊ทธ๋ฆฌ๊ณ ์ ์ญ๋ณ์ ์ค์ !!!
Pyenv global 3.9.6
์ฐธ๊ณ :
์ง์ง ๋ญ์ง? ๋จ!!
๊ทผ๋ฐ..!! ๋ ๋ฌธ์
ํฐ๋ฏธ๋์์ " pyenv activate ๊ฐ์ํ๊ฒฝ์ด๋ฆ " ์ ๋๋ค..!!!
ํด๊ฒฐ:
code ./zshrc
์๋ ๋ด์ฉ ์ถ๊ฐ ํ
source ./zshrc
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
if command -v pyenv 1>/dev/null 2>&1; then
eval "$(pyenv init -)"
fi
eval "$(pyenv virtualenv-init -)"
์ธ์ฉ๋ฌธ
๊ฐ์ํ๊ฒฝ ์์ฑ
$ pyenv virtualenv 3.9.9 venv_name
ํด๋น ํ๋ก์ ํธ ๋๋ ํ ๋ฆฌ๋ก ์ด๋ํ ํ ๊ฐ์ ํ๊ฒฝ ์์ฑ
$ cd <ํ๋ก์ ํธ ๊ฒฝ๋ก>
$ python3 -m venv <๊ฐ์ํ๊ฒฝ์ด๋ฆ>
# ๊ธฐ๋ณธ์ผ๋ก python3์ด ์ค์น๋์ด ์๊ธฐ ๋๋ฌธ์ python3์ผ๋ก ์งํ
project1๋ผ๋ ํด๋์ ๊ฐ์ํ๊ฒฝ์ ๋ง๋ค ๊ฒ์ด๊ณ ๊ฐ์ํ๊ฒฝ์ ์ด๋ฆ์ .venv ๋ก ์์ฑํ๋ค.
๊ทธ๋ฌ๋ฉด project1 ํด๋์์ .venvํด๋๊ฐ ์์ฑ๋๋ค.(๋๋ ์จ๊น ํด๋๋ก ๋ง๋ค์์ผ๋ฏ๋ก Finder์์ ์๋ณด์ธ๋ค.)
๊ฐ์ ํ๊ฒฝ์ ๊ตฌ์ฑํ ํ๋ก์ ํธ ๋๋ ํฐ๋ฆฌ์ ๋ค์ด๊ฐ์ ์๋์ ๊ฐ์ด ์ปค๋งจ๋๋ฅผ ๋ ๋ฆฌ๋ฉด .venv๋ผ๋ ๋๋ ํฐ๋ฆฌ๊ฐ ์๊ธธ ๊ฒ์ ๋๋ค. ์ฌ๊ธฐ์ ๋ฐ๋์ ๋๋ ํฐ๋ฆฌ ์ด๋ฆ์ .venv๋ก ํ ํ์๋ ์์ง๋ง, ๋๋ถ๋ถ์ ํ์ด์ฌ ํ๋ก์ ํธ๋ค์ด ๋ฐ๋ฅด๋ ๊ดํ์ด๋ฏ๋ก ์ง์ผ์ฃผ์๋ ๊ฒ ์ข์ต๋๋ค.
์ถ๊ฐ์ ์ผ๋ก git์ ์ด์ฉํ์ฌ ์์ค๊ด๋ฆฌ๋ฅผ ํ ๋ .venv ๋ด์ฉ์ ๊ตณ์ด ์ฌ๋ฆด ํ์๊ฐ ์์ผ๋ฏ๋ก .gitignoreํ์ผ์ ์ถ๊ฐํด์ค๋ค.
$ echo '.venv' >> .gitignore
.venv ํด๋์์๋ ๊ฐ์ํ๊ฒฝ์ ํ์ํ ๊ธฐ๋ณธ ํ์ผ๋ค์ด ์์ฑ๋์ด ์๋ค. binํด๋์์ ๊ฐ์ํ๊ฒฝ์ ํ์ฑํ์ํค๋ activateํ์ผ์ด ๋ค์ด์๋ค.
binํด๋์ ๋ค์ด์๋ ํ์ผ
๊ฐ์ํ๊ฒฝ์ด ์์ฑ๋์์ผ๋ฉด ์ด์ ํ์ฑํ์์ผ์ผํ๋ค.
๊ฐ์ํ๊ฒฝ ํ์ฑํ
๊ฐ์ํ๊ฒฝ ํ์ฑํ๋ฅผ ์ํด์๋ bin์์ activateํ์ผ์ ์คํ์ํค๋ฉด ๋๋ค.
$ pyenv activate venv1
$. .venv/bin/activate
๋๋
$ source .venv/bin/activate
๊ทธ๋ฌ๋ฉด ํ๋กฌํํธ์์ (.venv) ๊ฐ ๋ํ๋๋ฉด์ ๊ฐ์ํ๊ฒฝ์ด ํ์ฑํ๋ ๊ฒ์ ํ์ธํ ์ ์๋ค.
๊ฐ์ํ๊ฒฝ์ด ํ์ฑํ๋ ์ํ์์ pip install์ ์ด์ฉํ์ฌ ํ๋ก์ ํธ์ ํ์ํ ํจํค์ง๋ฅผ ์ค์นํ๋ฉด ํ์ฑํ๋ ๊ฐ์ํ๊ฒฝ์๋ง ํจํค์ง๊ฐ ์ค์น๋๋ค.
๊ฐ์ํ๊ฒฝ ๋นํ์ฑํ
๊ฐ์ํ๊ฒฝ ๋นํ์ฑํ๋ ๊ทธ๋ฅ ๊ฐ์ํ๊ฒฝ์ด ํ์ฑํ๋ ์ํ์์ deactivate ํ๋ฉด ๋๋ค.
$ source deactivate
๊ฐ์ํ๊ฒฝ ์ญ์
๊ฐ์ํ๊ฒฝ์ ์ญ์ ํ๋๊ฑด ๊ฐ๋จํ๋ค. ๋จ์ํ ๊ฐ์ํ๊ฒฝ ๋๋ ํฐ๋ฆฌ๋ฅผ ์ญ์ ํด์ฃผ๋ฉด ๋๋ค.
๋๋ ์จ๊นํด๋๋ก ์์ฑํ์ผ๋ฏ๋ก Finder์์๋ ์ญ์ ํ ์ ์์ผ๋ฏ๋ก ๋ช ๋ น์ด๋ฅผ ํตํด ์ญ์ ํด์ค๋ค.
$ pyenv uninstall <๊ฐ์ํ๊ฒฝ ์ด๋ฆ>
2024.05.22
๊ทผ๋ฐ ์ด์ ์ ๋!!! ์๋ผใ ใ ใ ใ ใ ใ ใ ใ ใ
VSCode์์๋ source deactivate ์ด๊ฒ ์๊พธ ๋จน์ง ์๋๋ค,..
์ง์ง ๋๋ฆฌ์ผ..
The default interactive shell is now zsh. To update your account to use zsh, please run `chsh -s /bin/zsh`. For more details, please visit https://support.apple.com/kb/HT208050. (djangoFC) yMac:note_app name$ source deactivate grep: /bin/envVars.txt: No such file or directory grep: /bin/envVars.txt: No such file or directory grep: /bin/envVars.txt: No such file or directory The default interactive shell is now zsh. To update your account to use zsh, please run `chsh -s /bin/zsh`. For more details, please visit https://support.apple.com/kb/HT208050. (djangoFC) yMac:note_app name$
๊ทธ๋์ ์ด์ ๋๋ค..
ํ๋ก์ ํธํ ๋
1) ํด๋ ๋ง๋ค๊ธฐ
2) python -m venv ๊ฐ์ํ๊ฒฝ์ด๋ฆ ๋ง๋ค๊ธฐ - ๊ทธ๋ฌ๋ฉด ํด๋ ์์ ํด๋น ๊ฐ์ํ๊ฒฝ์ด๋ฆ์ผ๋ก ํด๋๊ฐ ๋ง๋ค์ด์ง
3) ํ์ด์ฌ ์ธํฐํ๋ฆฌํฐ๋ฅผ ๋ฐฉ๊ธ ๋ง๋ ๊ฐ์ํ๊ฒฝ์ด๋ฆ์ผ๋ก ์ค์ ํ๊ธฐ (ํ์ด์ฌ ์ธํฐํ๋ฆฌํฐ ์ค์ - ๋งฅ: command+shift+P)
4) ๊ทธ๋ฆฌ๊ณ ๋๊ฐ๋ค ๋ค์ด์ค๋๊น ๊ฐ์ํ๊ฒฝ ๋ฐ๋๊ฑฐ ํ์ธ๋จ
5) ์ด์ ์ฌ๊ธฐ์ ํจํค์ง ๋ฑ ์ค์นํ๋ฉด ๋จ!!
'๐ OS > Mac' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Python] venv ๋ฒ์ ๊ด๋ฆฌ, Mac (2) (0) | 2024.05.22 |
---|---|
[Mac] Mac ํฐ๋ฏธ๋ ๊พธ๋ฏธ๊ธฐ(M3) (0) | 2024.05.17 |
[Mac] ์ค์น ๋ฑ๋ฑ ํธ๋ฆฌํ๊ฒ ์ฌ์ฉํ์ (0) | 2024.05.17 |
[Mac] ์๋์ฐ ์๊ฒฉ ์ ์ (0) | 2024.04.17 |
[Mac] Python ๊ฐ๋ฐํ๊ฒฝ / tensorflow / pytorch (0) | 2024.02.26 |