ํ๊ฒฝ
๊ธฐ์
pip3์ ๋ชจ๋ ๋ช
๋ น์ ๋ค์๊ณผ ๊ฐ์ ๊ฐ๋จํ ๋ช
๋ น์ ํฌํจํ์ฌ ๋งค์ฐ ๋๋ฆฌ๊ฒ ์คํ๋ฉ๋๋ค.
_pip3 ๋ชฉ๋ก _
์์ ์๋ 1 ~ 2 ์ด ๊ฑธ๋ ธ๋๋ฐ ์ง๊ธ์ 1 ๋ถ ์ ๋์ ๋๋ค.
์์๋๋ ํ๋
์ฌํ ๋ฐฉ๋ฒ
์บ์ ๋๋ ํ ๋ฆฌ๋ฅผ ์ ๋ฆฌํ๋ ค๊ณ ํ์ง๋ง ์๋ํ์ง ์์์ต๋๋ค.
python3-pip ํจํค์ง๋ฅผ ์ ๊ฑฐํ๊ณ ๋ค์ ์ค์นํ๋ ค๊ณ ์๋ํ์ง๋ง ์๋ํ์ง ์์์ต๋๋ค.
์ต์ Windows 10 19041 ์ ๋ฐ์ดํธ์ ์ฐ๊ฒฐ๋์ด ์๋์ง ํ์คํ์ง ์์ต๋๋ค.
"์ ํต์ ์ธ"์ด๋ ๋ฌด์์ ๋๊น? ์ด ์๋ ์ ํ๊ฐ pip ์ ๊ทธ๋ ์ด๋ ๋๋ ์์คํ ์ ๊ทธ๋ ์ด๋๋ก ์ธํด ๋ฐ์ํฉ๋๊น? ๊ฐ์๊ธฐ ๋ฐ์ํ๋ฉด pip ๋ฌธ์ ๊ฐ ์๋๋ผ pip๊ฐ ์ ์ด ํ ์์๋ ํน์ ์ปดํจํฐ์์ ๋ฐ์ํ๋ ๋ฌธ์ ์ผ ๊ฐ๋ฅ์ฑ์ด ํฝ๋๋ค.
์๋์, pip ์ ๊ทธ๋ ์ด๋๋ฅผํ์ง ์์์ต๋๋ค. Windows 10์ ์์ฃผ ์ ๋ฐ์ดํธ๋ฅผํ์ง๋ง ์ด๊ฒ์ด WSL2 ๋ด๋ถ์ pip์์ ์ฑ๋ฅ์ ์ด๋ค ์ํฅ์ ๋ฏธ์น๋์ง ์ ์ ์์ต๋๋ค.
๋๊ตฐ๊ฐ๊ฐ์ด ๋ฌธ์ ๋ฅผ ์ถ์ ํ ์์๋ ๋ฐฉ๋ฒ์ ์๋ ค์ค ์ ์๊ธฐ๋ฅผ ๋ฐ๋๋๋ค. ํ์ฌ pip๋ ์ค๋ฅ ๋ฉ์์ง๋ฅผ ์ถ๋ ฅํ์ง ์์ผ๋ฏ๋ก ๋ฌด์จ ์ผ์ด ์ผ์ด๋๊ณ ์๋์ง ์ ๋ฐฉ๋ฒ์ด ์์ต๋๋ค.
์ด๋ฏธ ์ค์น๋ ํจํค์ง ์๋ฅผ ๊ณต์ ํ ์ ์์ต๋๊น (์ : pip list
)? ์ถ๋ ฅ ์ฒ๋ฆฌ ์ ์ ์ค์น๋ ๋ชจ๋ ํจํค์ง๋ฅผ ์ดํด ๋ณด๋ ค๊ณ ์๋ํ pip์ ๋ด๋ถ ๋
ผ๋ฆฌ [1]์ ๊ด๋ จ์ด์์ ์ ์์ต๋๋ค.
[1] ๋ด๊ฐ ๋ฌด์จ ๋ง์ํ๋์ง ๊ถ๊ธํ ์ฌ๋๋ค์์ํ pkg_resources์ WorkingSet ๊ตฌ์ฑ
๋๋ ๊ฐ์ ๋ฌธ์ ์
๋๋ค. pip3 list
๋ช
๋ น์ ์คํํ๋๋ฐ ํจํค์ง๋ฅผ ๋์ดํ๋ ๋ฐ ์ฝ 10 ์ด ์ด์์ด ๊ฑธ๋ ธ์ต๋๋ค. ์ง๊ธ์ pipenv
๋ฅผ ์ฌ์ฉํ์ฌ ๋ฌธ์ ๋ฅผ ์ ๊ฑฐํ๋ ๊ฐ์ ํ๊ฒฝ์ ๋ง๋ญ๋๋ค. wsl2 linux์ windows ์ฌ์ด์ ์คํ ํ์ผ ๊ณต์ ๋ฅผ ๋ฐฉํด ํ ์ ์๋ค๊ณ ์๊ฐํฉ๋๋ค. ๊ทธ๋๋ ๋ฌธ์ ์ ์์ธ์ด ๋ฌด์์ธ์ง ์ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค!
wsl2 linux์ windows ๊ฐ์ ์คํ ํ์ผ ๊ณต์ ๋ฅผ ๋ฐฉํด ํ ์ ์๋ค๊ณ ์๊ฐํฉ๋๋ค.
์ด๊ฒ์ ๊ทธ๋ด๋ฏํ๊ฒ ๋ค๋ฆฝ๋๋ค. Linux ์ธก์์ Windows ํ์ผ ์์คํ
์ ์ก์ธ์คํ๋ฉด WSL2์ ํ์ผ ์์คํ
์ฑ๋ฅ์ด ๋์ฐํฉ๋๋ค. pip3
๋ช
๋ น์ ์ฐ๊ฒฐ๋ Python์ ๋ฌด์์
๋๊น? sys.path
๋ฅผ ์ ๊ณต ํ ์ ์์ต๋๊น? ๋ค๋ฅธ ์์น์์ pip3
๋ฅผ ์คํํ๋ฉด ์ด๋ฐ ์ผ์ด ๋ฐ์ํฉ๋๊น? ์์น๊ฐ Linux ํ์ผ ์์คํ
์ ์๋ Windows ์ธก์ ์๋ ์๊ด ์์ต๋๊น?
Windows powershell์์ ๋์ผํ pip3 list
๋ฅผ ์คํํ๋ฉด ์ฆ๊ฐ์ ์ด๊ณ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ง ์์ต๋๋ค.
['', '/usr/lib/python38.zip', '/usr/lib/python3.8', '/usr/lib/python3.8/lib-dynload', '/home/<user>/.local/lib/python3.8/site-packages', '/usr/local/lib/python3.8/dist-packages', '/usr/lib/python3/dist-packages']
['', '/usr/lib/python38.zip', '/usr/lib/python3.8', '/usr/lib/python3.8/lib-dynload', '/home/<user>/.local/share/virtualenvs/myproj-SiazyaGz/lib/python3.8/site-packages']
sys ๊ฒฝ๋ก๊ฐ ์ ์ญ์ผ๋ก ๋ณ๊ฒฝ๋๋ฉด pip3
๊ฐ Windows 1์ ๋ฐฉํดํ์ง ์์ ์ ์์ต๋๋ค. ๋๋ ๊ทธ๊ฒ์ ์๋ํ์ง ์์๋ค!
์, ๋๋ ํ ๋ฆฌ ์ค ์ด๋ ๊ฒ๋ ํ๋ฒํ์ง ์์ ๊ฒ ๊ฐ์ต๋๋ค. Windows ๋๋ ํ ๋ฆฌ๋ฅผ ๋ง์ดํธํฉ๋๊น? ์๋ฅผ ๋ค์ด, ํ ๋๋ ํ ๋ฆฌ (๋๋ sys.path
๋์ด๋ ํญ๋ชฉ)๋ฅผ Windows ๋๋ ํ ๋ฆฌ์ ์ฌ๋ณผ๋ฆญ ๋งํฌํฉ๋๊น? ์๋๋ฉด /mnt
์๋์ ๋๋ ํ ๋ฆฌ์์ ๋ช
๋ น์ ์คํํฉ๋๊น?
sys.path
๋์ด๋ ํญ๋ชฉ ์ค ์ผ๋ถ (ํนํ ~/.local/lib
ํญ๋ชฉ)๋ฅผ ์ผ์์ ์ผ๋ก ์ด๋ํ์ฌ ๋ณ๊ฒฝ ์ฌํญ์ด ์๋์ง ํ์ธํ๋ ค๊ณ ํฉ๋๋ค. ๋๋ Python ๋ฐํ์์ ๋ช ๊ฐ์ ํ๋กํ์ผ ๋ฌ๋ฅผ ์ฝ์
ํ๊ณ ์ ํํ ๋ฌด์์ด ์๋๋ฅผ ๋ฆ์ถ๋ ์ง ํ์ธํ ์ ์์ต๋๋ค. ๋ฌธ์ ๋ฅผ ๋ถ๋ฆฌํ๊ธฐ ์ํด ํ ์์๋ ๋ง์ ํธ๋ฆญ์ด ์์ต๋๋ค. ์ด๋ ์ (๋๋ ์ปดํจํฐ์ ๋ฌผ๋ฆฌ์ ์ก์ธ์ค ๊ถํ์ด์๋ ์ฌ๋)๊ฐ ํ๊ณต ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ค๋ ๊ฒ๋ณด๋ค ํจ์ฌ ๋ ์ ์ฉ ํ ๊ฒ์
๋๋ค.
ํธ์ง : ์ด๋ป๊ฒ ๋ ๋์คํ๋ ์ด์ ์ฐ๊ฒฐ๋ ์ ์์ต๋๊น? X11 ์๋ฒ (MobaXterm ์ฌ์ฉ)๋ฅผ ์์ํ๋ฉด ์๋ ์ ํ๊ฐ ํฌ๊ฒ ์ฌ๋ผ์ง๋๋ค (0.5 ์ด ์์). ์ด ๋ฌธ์ ๋ฅผ ๋ฐ๊ฒฌ ํ ์ด์ ๋ matplotlib๊ฐ ๋งค์ฐ ๋๋ฆฌ๊ธฐ ๋๋ฌธ์ pip๋ฅผ ์ฌ์ฉํ์ฌ ๋ค์ ์ค์นํ๋ ค๊ณ ํ์ต๋๋ค. matplotlib๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด Xterm์ ์คํํด์ผํ๋ค๋ ๊ฒ์ ์์์ต๋๋ค.
๋๋ ๋ํ์ด ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ผ๋ฉฐ ํ์ด์ฌ์ sys.path
์์ piyushchauhan2011๊ณผ ๋์ผํ ์ถ๋ ฅ์ ์ป์์ต๋๋ค. ๋ด ํ ๋๋ ํ ๋ฆฌ์ Windows ๋๋ ํ ๋ฆฌ์ ๋ํ ์ฌ๋ณผ๋ฆญ ๋งํฌ๊ฐ ์์ต๋๋ค.
test -> /mnt/c/Users/<user>/Documents/<git_project_folder>/
์ ๋ ์ ๋์ค ํ๊ฒฝ์์๋ง ์คํํ ์์๋ ํ๋ก๊ทธ๋จ์ ๋ํด ๊ฒฐ๊ณผ๋ฅผ ๋ฒค์น๋งํนํด์ผํ๋ ํ์ด์ฌ ํจํค์ง๋ฅผ ๊ฐ๋ฐ ์ค์ ๋๋ค. ์ญ๊ณ ํ ํ ์คํธ๋ฅผ ์ฌ์ฉํ์ฌ Windows ๋๋ ํฐ๋ฆฌ์ ํ์ผ์ ํธ์งํ๊ณ WSL2๋ฅผ ์ฌ์ฉํ์ฌ ์ฌ๋ณผ๋ฆญ ๋งํฌ๋ฅผ ํตํด ํด๋น ํ์ผ์ ๋ํ ๋ฒค์น ๋งํฌ ์ฝ๋๋ฅผ ์คํํฉ๋๋ค.
์๋ ์ ํ์์ด ๋ค์ ๋ช
๋ น์ ์คํํ ์ ์์ต๋๋ค. check, show, config
pip 20.0.2 from /usr/lib/python3/dist-packages/pip (python 3.8)
pip3 list
์คํํ๋ฉด ๊ฒฐ๊ณผ๊ฐ ๋ฐํ๋์ง๋ง 30 ์ด ์ ๋ ๊ฑธ๋ฆฝ๋๋ค.
์ฝ 100 ๊ฐ์ ํจํค์ง๊ฐ ์ค์น๋์ด ์์ต๋๋ค.
๋๋ ์ฑ๊ณตํ์ง ์๊ณ ๋ค์์ ์๋ํ์ต๋๋ค.
python3 -m pip --retries 2 --timeout 5 --no-cache-dir --isolated --verbose list
๋๋ WSL2 ํ์ผ ์์คํ
๋ด๋ถ์ Windows ์ธก ๋ชจ๋์์ pip๋ฅผ ์คํํ๋ ค๊ณ ์๋ํ์ต๋๋ค.
sys.path
๋ฅผ ๋ณ๊ฒฝํ๋ ๊ฐ์ฅ ์ข์ ๋ฐฉ๋ฒ์ 100 %๊ฐ ์๋์ง๋ง ์ฌ๊ธฐ์ ๋ด ์๋๊ฐ ์์ต๋๋ค.
sys.path
๋ก ์์ํ๋ ipython3์ ์์ํ์ต๋๋ค.
'/usr/bin',
'/usr/lib/python38.zip',
'/usr/lib/python3.8',
'/usr/lib/python3.8/lib-dynload',
'',
'/home/<user>/.local/lib/python3.8/site-packages',
'/usr/local/lib/python3.8/dist-packages',
'/usr/lib/python3/dist-packages',
'/usr/lib/python3/dist-packages/IPython/extensions',
'/home/<user>/.ipython']
๋ค์๊ณผ ๊ฐ์ด ๋ฐฑ์
ํฉ๋๋ค backup = sys.path.copy()
์ด ์์ ์์ run '/usr/bin/pip3' list
์ฌ์ฉํ๋ฉด ์ฌ์ ํ ์๋๊ฐ ๋๋ ค์ง๋ ๊ฒ์ ํ์ธํ์ต๋๋ค.
๊ทธ๋ฌ๋ ๊ทธ ํ sys.path = []
ํ๊ณ ๋ค์ ์คํํ๋ฉด ModuleNotFoundError: No module named 'pyparsing'
์ป์ต๋๋ค. ์ด ๊ฒฐ๊ณผ๋ ๋ด๊ฐ ๋ค์ ์คํํ ๋๋ง๋ค ๋ฐ๋ณต๋ฉ๋๋ค. ๊ทธ๋ฌ๋! ์ผ๋จ sys.path = backup
์ค์ ํ๋ฉด ์ง๊ธ run '/usr/bin/pip3' list
๊ธฐ์ ์ ์ผ๋ก ์๋ํฉ๋๋ค!
time
:
CPU times: user 12.2 ms, sys: 426 ยตs, total: 12.6 ms
Wall time: 11.8 ms
๊ทธ๋์ ๋ถ๋ช
ํ ๊ฒฝ๋ก์ ๋ฌธ์ ๊ฐ ์์ต๋๋ค.
๋์ค์ ๋ค์ sys.path =[]
์ค์ ํ ์ ์์ผ๋ฉฐ run '/usr/bin/pip3' list
๋ ์ด๋ค ์ด์ ๋ก ์ฌ์ ํ ์๋ํฉ๋๋ค.
์ด๊ฒ์ด ๊ด๋ จ์ฑ์ด ์๋์ง ํ์คํ์ง ์์ง๋ง ์ธ๊ธ ํ ๊ฒ์ด๋ผ๊ณ ์๊ฐํ์ต๋๋ค.
run
๋ช
๋ น์ ์ฌ์ฉํ ํ ๋ด sys.path๊ฐ ๋ค์๊ณผ ๊ฐ์ด ์ฑ์์ง๋๋ค (๋น ๋ชฉ๋ก์ผ๋ก ์ค์ ๋ ํ).
['/usr/share/python-wheels/idna-2.8-py2.py3-none-any.whl',
'/usr/share/python-wheels/distlib-0.3.0-py2.py3-none-any.whl',
'/usr/share/python-wheels/msgpack-0.6.2-py2.py3-none-any.whl',
'/usr/share/python-wheels/lockfile-0.12.2-py2.py3-none-any.whl',
'/usr/share/python-wheels/pytoml-0.1.21-py2.py3-none-any.whl',
'/usr/share/python-wheels/retrying-1.3.3-py2.py3-none-any.whl',
'/usr/share/python-wheels/requests-2.22.0-py2.py3-none-any.whl',
'/usr/share/python-wheels/setuptools-44.0.0-py2.py3-none-any.whl',
'/usr/share/python-wheels/pep517-0.8.2-py2.py3-none-any.whl',
'/usr/share/python-wheels/chardet-3.0.4-py2.py3-none-any.whl',
'/usr/share/python-wheels/webencodings-0.5.1-py2.py3-none-any.whl',
'/usr/share/python-wheels/CacheControl-0.12.6-py2.py3-none-any.whl',
'/usr/share/python-wheels/ipaddr-2.2.0-py2.py3-none-any.whl',
'/usr/share/python-wheels/certifi-2019.11.28-py2.py3-none-any.whl',
'/usr/share/python-wheels/urllib3-1.25.8-py2.py3-none-any.whl',
'/usr/share/python-wheels/wheel-0.34.2-py2.py3-none-any.whl',
'/usr/share/python-wheels/appdirs-1.4.3-py2.py3-none-any.whl',
'/usr/share/python-wheels/packaging-20.3-py2.py3-none-any.whl',
'/usr/share/python-wheels/html5lib-1.0.1-py2.py3-none-any.whl',
'/usr/share/python-wheels/six-1.14.0-py2.py3-none-any.whl',
'/usr/share/python-wheels/pip-20.0.2-py2.py3-none-any.whl',
'/usr/share/python-wheels/colorama-0.4.3-py2.py3-none-any.whl',
'/usr/share/python-wheels/progress-1.5-py2.py3-none-any.whl',
'/usr/share/python-wheels/pkg_resources-0.0.0-py2.py3-none-any.whl',
'/usr/share/python-wheels/pyparsing-2.4.6-py2.py3-none-any.whl',
'/usr/share/python-wheels/contextlib2-0.6.0-py2.py3-none-any.whl',
'/usr/share/python-wheels/distro-1.4.0-py2.py3-none-any.whl',
'/usr/bin',
'/usr/lib/python38.zip',
'/usr/lib/python3.8',
'/usr/lib/python3.8/lib-dynload',
'',
'/home/<user>/.local/lib/python3.8/site-packages',
'/usr/local/lib/python3.8/dist-packages',
'/usr/lib/python3/dist-packages',
'/usr/lib/python3/dist-packages/IPython/extensions',
'/home/<user>/.ipython']
sys.path๊ฐ ๋น ๋ชฉ๋ก์ผ๋ก ์ค์ ๋ ๋ค์ ์๋ ๋ชฉ๋ก ๋๋์ด ๋ชฉ๋ก์ผ๋ก ๋ค์ ์ฌ์ค์ ๋ ๋๊น์ง ์ฌ์ ํ ์๋๊ฐ ๋๋ ค์ง๋๋ค.
์ด๊ฒ์ ์ด๋ป๊ฒ ๋ ๋์คํ๋ ์ด์ ์ฐ๊ฒฐ๋ ์ ์์ต๋๊น? X11 ์๋ฒ (MobaXterm ์ฌ์ฉ)๋ฅผ ์์ํ๋ฉด ์๋ ์ ํ๊ฐ ํฌ๊ฒ ์ฌ๋ผ์ง๋๋ค (0.5 ์ด ์์). ์ด ๋ฌธ์ ๋ฅผ ๋ฐ๊ฒฌ ํ ์ด์ ๋ matplotlib๊ฐ ๋งค์ฐ ๋๋ฆฌ๊ธฐ ๋๋ฌธ์ pip๋ฅผ ์ฌ์ฉํ์ฌ ๋ค์ ์ค์นํ๋ ค๊ณ ํ์ต๋๋ค. matplotlib๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด Xterm์ ์คํํด์ผํ๋ค๋ ๊ฒ์ ์์์ต๋๋ค.
์๋ง๋โฆ? ์ ์ ์ผ๋ก ๋ฌธ์ ๋ ๋์๊ฒ ๋งค์ฐ ์ด์ํฉ๋๋ค. ์ด๊ฒ์ด sys.path
๋ฌธ์ ๋ผ๋ฉด pip๋ฟ๋ง ์๋๋ผ ๋ชจ๋ Python ๊ฐ์ ธ ์ค๊ธฐ์ ๋ํด ๋์ผํ ์๋ ์ ํ๊ฐ ๋ฐ์ํ์ง ์์ต๋๊น? ๋๋ ๊ฝค ๋นํฉ ์ค๋ฝ๋ค ๐
์๋ ํ์ธ์, ์ ํ๊ฒฝ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=18.04
DISTRIB_CODENAME=bionic
DISTRIB_DESCRIPTION="Ubuntu 18.04.4 LTS"
NAME="Ubuntu"
VERSION="18.04.4 LTS (Bionic Beaver)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 18.04.4 LTS"
VERSION_ID="18.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=bionic
UBUNTU_CODENAME=bionic
Python 3.6.9
๋ฐ pip 9.0.1
ํ๋ฉด command
(ํนํ install
์ฌ์ฉ์)๋ง๋ค pip๊ฐ ๋งค์ฐ ๋๋ฆฌ๋ค๋ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค.
๋ด pip3 list
์
asn1crypto (0.24.0)
attrs (17.4.0)
Automat (0.6.0)
chardet (3.0.4)
configobj (5.0.6)
constantly (15.1.0)
cryptography (2.1.4)
distro-info (0.18ubuntu0.18.04.1)
hyperlink (17.3.1)
idna (2.6)
incremental (16.10.1)
keyring (10.6.0)
keyrings.alt (3.0)
netifaces (0.10.4)
pip (9.0.1)
pyasn1 (0.4.2)
pyasn1-modules (0.2.1)
pycrypto (2.6.1)
pygobject (3.26.1)
pyOpenSSL (17.5.0)
python-apt (1.6.5+ubuntu0.3)
python-debian (0.1.32)
pyxdg (0.25)
PyYAML (3.12)
SecretStorage (2.3.1)
service-identity (16.0.0)
setuptools (39.0.1)
six (1.11.0)
Twisted (17.9.0)
ufw (0.36)
unattended-upgrades (0.1)
wheel (0.30.0)
@MattiaFailla _temporary_ ์์ ์ ์ํ๋ค๋ฉด MobaXterm (๋๋ ๋ค๋ฅธ ๋๋ฑํ ๊ฒ)๊ณผ ๊ฐ์ X11 ์๋ฒ๋ฅผ ์คํํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ์ด์ ๋ฅผ ์ดํดํ์ง ๋ชปํ์ง๋ง ๋ชจ๋ ๋ช ๋ น์ ๋ํ ์๋ ์ ํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์ต๋๋ค.
@ngraymon ์ ์ด์ํ์ง๋ง์ด ์์ ์์ ์ ์๋ํฉ๋๋ค.
๊ฐ์ฌ!
์๋ํ ํ์์ด ๋ฌธ์ ๋ฅผ ์
๋ฐ์ดํธํ๊ฒ ์ต๋๋ค.
๋์์ด ์ฌ์ ํ ๋์ผํ ์ง ํ์ธํ๊ธฐ ์ํด ๋ฐฉ๊ธ ํ์ธํ์ต๋๋ค.
WSL2์ Windows ํฐ๋ฏธ๋ ๋ด์์ time pip3 list
์คํ :
MobaXterm์ ์์ํ๊ณ ๋์ผํ ํฐ๋ฏธ๋์์ time pip3 list
๋ฅผ ์คํ ํ ํ :
@ngraymon ์๋
ํ์ธ์,
๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์ต๋๋ค. ๋ค์ ๋จ๊ณ๋ฅผ ์๋ํ์ญ์์ค.
์๋
ํ์ธ์.
๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์ด ๋คํ์
๋๋ค.
๊ทํ์ ์ ์์ ์๋ํ์ง๋ง ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์ง ์์์ต๋๋ค.
๋๋ sudo๋ก pip๋ฅผ ์คํํ์ง ์์ง๋ง sudo apt install python3-pip
์ฌ์ฉํ์ฌ pip3๋ฅผ ์ค์นํ์ต๋๋ค.
๋๋ matplotlib๋ฅผ ์ฌ์ฉํ์ฌ ํ๋กํ
ํ๊ณ ์๊ธฐ ๋๋ฌธ์ ์ด์จ๋ X ์๋ฒ๊ฐ ํ์ํ๊ธฐ ๋๋ฌธ์ ๋ชจ๋ ๊ฒ์ด ๋ ์์ ์์ํ ๋ฐฉ์์ ๋ง์กฑํฉ๋๋ค.
@ngraymon python -m pip๋ฅผ ์คํํ๊ณ ๋๋ฆฐ ์ง ํ์ธํ ์ ์์ต๋๊น?
๊ทธ๋ ๋ค๋ฉด ์ถฉ๋ถํ ์๋ก์ด Python ๋ฒ์ ์ด์๋ ๊ฒฝ์ฐ python -X importtime -m pip -v
์ ์ถ๋ ฅ์ ์ ๊ณตํ์ญ์์ค. ์์
์ด ๋ํ๋๋ค๋ฉด ์ฐ๋ฆฌ๊ฐ ์๋ ๋ฐ ๋์์ด ๋ ๊ฒ์
๋๋ค.
๋ฟก๋ฟก
์๋
ํ์ธ์,
์ด๋ฒ์ ๋์๋ง ๋ฉ์์ง๋ก ์๋ตํ๋ pip์ ๋ํ ๋ช
๋ น์์ด time python3 -m pip
์คํํ์ต๋๋ค.
๊ทธ๋ฌ๋ time python3 -m pip list
์คํํ๋ฉด
time python3 -m pip check
์ค / ์ฌ์ ํ ์๋ ์ ํ์ ์ํฅ์๋ฐ์ง ์์
๋ค์์ ์คํํ์ต๋๋ค.
python3 -X importtime -m pip -v
๋ฐ out_1.txt ๋ก python3 -X importtime -m pip -v list
๋ฐ out_list.txt ๋ก
python3 -X importtime -m pip -v check
๋ฐ out_check.txt ๋ก
list
๋ช
๋ น์ ๋ฒ์ธ์ keyring.core
?
import time: 96023197 | 96029594 | keyring.core
๋์์ด ๋์๊ธฐ๋ฅผ ๋ฐ๋๋๋ค. :)
list ๋ช ๋ น์ ๋ฒ์ธ์ด keyring.core์ ๋๊น?
X ์๋ฒ๊ฐ ๋์์ฃผ๋ ์ด์ํ ์ ๊ณผ ๊ฒฐํฉํ์ฌ ํค๋ง์ด GUI์ ์์กดํ๋์ง ๊ถ๊ธํฉ๋๋ค. X๋ฅผ ์ฐพ์ผ๋ ค๊ณ ์๋ํ๊ณ X๊ฐ ์๋ค๊ณ ๊ฒฐ๋ก ์ ๋ด๋ฆด ๋๊น์ง ์ง์ฐ์ ์ผ์ผํค๋ ์ฝ๋๊ฐ ์์ต๋๊น?
๋ฟก๋ฟก
pypi ์ ํ์ด์ง์ ๋ฐ๋ฅด๋ฉด D-Bus ๋๋ X11 ์๋ฒ๊ฐ ํ์ํ ๊ฒ ๊ฐ์ต๋๋ค.
python3 -m keyring --disable
๋ฐ export PYTHON_KEYRING_BACKEND=keyring.backends.null.Keyring
์๋ํ์ง๋ง ๋ ๋ค ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์ง ๋ชปํ ๊ฒ ๊ฐ์ต๋๋ค.
jaraco / keyring # 434๋ ๊ด๋ จ์ด์๋ ๊ฒ์ฒ๋ผ ๋ณด์ด์ง๋ง ๋นํ์ฑํ์ ๋ํ ์กฐ์ธ์ ์ด๋ฏธ ์๋ํ ๋ด์ฉ์ ์ค๋ช ํ๋ ๋ฌธ์๋ฅผ ๊ฐ๋ฆฌ ํต๋๋ค.
์ด ๋ฌธ์ ๋ ๊ฒฝํํ๊ณ ์๋ค๋ฉด ์ด์ sudo apt-get update && sudo apt-get upgrade
๋ฃจํด์ ์คํ ํ ํ์ ์์๋์๋ค๊ณ ์๊ฐํ์ญ์์ค. ๊ทธ๊ฒ์ ํ์คํ ์ด์ ๊ณ ๋ฆฌ์ ๋์คํ๋ ์ด์ ๊ด๋ จ์ด ์์ต๋๋ค. X-Server๋ฅผ ์คํํ๋ ๊ฒ ์ธ์๋ ๋์คํ๋ ์ด๋ฅผ WSL2์ IP ์ฃผ์๋ก ๊ฐ๋ฆฌํค๋ .bashrc ํ์ผ์์๋ ์ค์ ์ ๊ฑฐํ์ฌ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์์์์ต๋๋ค. ๋ฌธ์ ์ ๋ผ์ธ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
export DISPLAY=$(cat /etc/resolv.conf | grep nameserver | awk '{print $2; exit;}'):0.0
.bashrc์์์ด ์ค์ ์ ๊ฑฐํ๊ณ WSL2๋ฅผ ๋ค์ ์์ํ๋ฉด pip๊ฐ ์์๋๋ก ์๋ํฉ๋๋ค. ์ฌ๊ธฐ์์ ์ด๋ป๊ฒ ์งํํด์ผํ ์ง ๋ชจ๋ฅด๊ฒ ๊ธฐ ๋๋ฌธ์ ์ด๊ฒ์ด ์ฌ๋ฐ๋ฅธ ๋ฐฉํฅ์ผ๋ก ๋๊ตฐ๊ฐ๋ฅผ ๊ฐ๋ฆฌํค๋ ์ง ํ์คํ์ง ์์ต๋๋ค.
pip3 install -U keyring
ํค๋ง์ ์
๋ฐ์ดํธํ๊ณ ํ์ธํ์ฌ ๋ฌธ์ ๋ฅผ ์๊ตฌ์ ์ผ๋ก ํด๊ฒฐํ ์ ์์๋ ๊ฒ ๊ฐ์ต๋๋ค.
[backend]
default-keyring=keyring.backends.null.Keyring
~/.config/python_keyring/keyringrc.cfg
์ ํค๋ง ๊ตฌ์ฑ ํ์ผ์ ์ค์ ๋์ด ์์ต๋๋ค.
pip3 install -U keyring
๋ํ cjpellicci์ ์ ์์ด ํ๋ฅญํ์ต๋๋ค.
๋ํ ~/.local/share/python_keyring/keyringrc.cfg
์ ~/.config/share/python_keyring/keyringrc.cfg
๋ก ์ฎ๊ฒจ์ผํ์ต๋๋ค.
pip3 list
์คํํ๋ฉด 90 ์ด๊ฐ ์๋ 1/2 ์ด๊ฐ ๊ฑธ๋ฆฝ๋๋ค.
์ด๊ฒ์ X ์๋ฒ๊ฐ ์คํ๋์ง ์๊ณ ์์ต๋๋ค.
์์ ๋ด์ฉ์ ๋๋ฅผ ์ํด ์๋ํ์ง ์๋ ๊ฒ ๊ฐ์ต๋๋ค. ~ / .local / share / python_keyring / ๋๋ ~ / .config / share / python_keyring /์๋ keyringrc.cfg๊ฐ ์์ต๋๋ค.
์ด๊ฒ์ WSL Ubuntu์ Ubuntu๊ฐ์ ๋ค๋ฅธ ๋์ ์ผ ์ ์์ต๋๊น?
@peidaqi , ํค๋ง์ ์
๋ฐ์ดํธ ํ ํ ~/.config/python_keyring/
๋๋ ํฐ๋ฆฌ์ ์ ํํ ์ด๋ฆ์ผ๋ก ๊ตฌ์ฑ ํ์ผ์ ๋ง๋ ๋ค์ ๊ตฌ์ฑ ํ์ผ์ ๋ค์์ ์ถ๊ฐ ํ ์ ์์ต๋๋ค.
[backend]
default-keyring=keyring.backends.null.Keyring
์์ ๋จ๊ณ์ ๋ฐ๋ผ ํ๊ฒฝ ๋ณ์๋ฅผ ์ค์ ํ์ฌ ํค๋ง์ ๋นํ์ฑํํ๊ธฐ ์ํด keyringrc.cfg
๊ฐ ๋ง๋ค์ด ์ง ์ ์๋ค๊ณ ์๊ฐํ์ง๋ง ํ๋ฆด ์ ์์ต๋๋ค.
BTW : WSL2์์๋ Ubuntu๋ฅผ ์คํํ๊ณ ์์ต๋๋ค.
์๋
ํ์ธ์! pip list
์คํํ๋ ค๋ pip install
๋ช
๋ น (wsl2์์)์ ํฌํจํ์ฌ pip list
๋๋ฆฌ๊ฒ (~ 1 ๋ถ) ์คํ๋๋ ๊ฒ๊ณผ ๋ค์ ๋์ผํ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ต๋๋ค. ๊ทธ๋ฌ๋ ๋์์ด ์ ํํ ๋์ผํ ์ง ํ์คํ์ง ์์ต๋๋ค (pip list _did_ ํจํค์ง๋ฅผ ์ถ๋ ฅํ์ง๋ง ๋ช
๋ น์ ~ 1 ๋ถ ํ์ ๋ฐํ ๋จ).
๋ง์ง๋ง์ผ๋ก ๋ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐ ํ ๊ฒ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. https://askubuntu.com/a/38468/938540- ๋ฌธ์ ๊ฐ ๊ด๋ จ๋์ด ์๋์ง ํ์คํ์ง ์์ง๋ง ์ฆ์์ด ๋งค์ฐ ์ ์ฌํ์ต๋๋ค. ๋์์ด ๋์๊ธฐ๋ฅผ ๋ฐ๋๋๋ค!
๋ค๋ฅธ ๊ฐ๋ฅํ ๋ฐ์ดํฐ ํฌ์ธํธ ์ถ๊ฐ :
pip list
์ WSL2์์ ์ฝ 90 ์ด๊ฐ ๊ฑธ๋ ธ์ต๋๋ค.
DISPLAY ํ๊ฒฝ ๋ณ์๋ฅผ Windows ๋ฐ์คํฌํฑ์์ ์คํ๋๋ X ์๋ฒ๋ก ์ค์ ํ์ต๋๋ค. DISPLAY ํ๊ฒฝ ๋ณ์๋ฅผ ์ง์ฐ๊ฑฐ๋ ๋ด X ์๋ฒ๋ฅผ ์์ํ๋ฉด ์๊ฐ์ด 0.343 ์ด๋ก ๋ณ๊ฒฝ๋์์ต๋๋ค.
pip3 install -U keyring
ํค๋ง์ ์ ๋ฐ์ดํธํ๊ณ ํ์ธํ์ฌ ๋ฌธ์ ๋ฅผ ์๊ตฌ์ ์ผ๋ก ํด๊ฒฐํ ์ ์์๋ ๊ฒ ๊ฐ์ต๋๋ค.
[backend]
default-keyring=keyring.backends.null.Keyring
~/.config/python_keyring/keyringrc.cfg
์ ํค๋ง ๊ตฌ์ฑ ํ์ผ์ ์ค์ ๋์ด ์์ต๋๋ค.
๊ทธ๊ฒ์ ๋๋ฅผ ์ํด ์๋ํฉ๋๋ค.
Ubuntu 18.04
ํ์ด์ฌ 3.6.9
ํ 20.0.2
pip3 install -U keyring
ํค๋ง์ ์ ๋ฐ์ดํธํ๊ณ ํ์ธํ์ฌ ๋ฌธ์ ๋ฅผ ์๊ตฌ์ ์ผ๋ก ํด๊ฒฐํ ์ ์์๋ ๊ฒ ๊ฐ์ต๋๋ค.
[backend]
default-keyring=keyring.backends.null.Keyring
~/.config/python_keyring/keyringrc.cfg
์ ํค๋ง ๊ตฌ์ฑ ํ์ผ์ ์ค์ ๋์ด ์์ต๋๋ค.๊ทธ๊ฒ์ ๋๋ฅผ ์ํด ์๋ํฉ๋๋ค.
Ubuntu 18.04
ํ์ด์ฌ 3.6.9
ํ 20.0.2
์ด๊ฒ์ด ์ ์๊ฒ๋ ํจ๊ณผ๊ฐ ์๋์ง ํ์ธํ์ญ์์ค.
Ubuntu 18.04
ํ์ด์ฌ 3.6.8
ํ 20.2.3
์๋ ํ์ธ์, ํค๋ง์ ๋นํ์ฑํํ๋ฉด ์ฌ์ฉ์์๊ฒ ์๋๊ฐ ํฅ์๋๋ค๋ ์ฌ์ค์ ํ์ธํ๋ ๋ณด๊ณ ์๊ฐ ๋ ํ์ํ์ง ์์ต๋๋ค. ๋๊ตฐ๊ฐ๊ฐ https://github.com/pypa/pip/issues/8719์ ๋์์ ์ค ์ ์๋ค๋ฉด ๊ฐ์ฌํ๊ฒ ์ต๋๋ค. :)
์ด๊ฒ์ Fedora 33์์ wayland์์ ์คํํ ๋ ๋ฐ์ํฉ๋๋ค! ๋ค๋ฅธ ๋ชจ๋ ์ฌ๋๋ค์ด WSL์์๋ ๊ฒ์ฒ๋ผ ๋ณด์ด๊ธฐ ๋๋ฌธ์ ์ด๊ฒ์ด ๋๋ ์๊ฒฌ์ผ๋ก๋ ์ ์ฉํ ์ถ๊ฐ๊ฐ๋๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.
ํ๊ฒฝ
pip
๋ฐ pip list
์๊ฐ ์ ํ ์คํ :
pip 0.11s user 0.01s system 99% cpu 0.122 total
pip list 0.24s user 0.03s system 1% cpu 25.285 total
๊ณ ์ ์ํ์์ pip
์ฃฝ์ผ ๋ Stacktrace :
$ python -m pip uninstall jrnl
^CTraceback (most recent call last):
File "/usr/lib64/python3.9/site-packages/dbus/bus.py", line 177, in activate_name_owner
return self.get_name_owner(bus_name)
File "/usr/lib64/python3.9/site-packages/dbus/bus.py", line 361, in get_name_owner
return self.call_blocking(BUS_DAEMON_NAME, BUS_DAEMON_PATH,
File "/usr/lib64/python3.9/site-packages/dbus/connection.py", line 652, in call_blocking
reply_message = self.send_message_with_reply_and_block(
dbus.exceptions.DBusException: org.freedesktop.DBus.Error.NameHasNoOwner: The name does not have an owner
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/lib64/python3.9/runpy.py", line 197, in _run_module_as_main
return _run_code(code, main_globals, None,
File "/usr/lib64/python3.9/runpy.py", line 87, in _run_code
exec(code, run_globals)
File "/usr/lib/python3.9/site-packages/pip/__main__.py", line 26, in <module>
sys.exit(_main())
File "/usr/lib/python3.9/site-packages/pip/_internal/cli/main.py", line 73, in main
command = create_command(cmd_name, isolated=("--isolated" in cmd_args))
File "/usr/lib/python3.9/site-packages/pip/_internal/commands/__init__.py", line 104, in create_command
module = importlib.import_module(module_path)
File "/usr/lib64/python3.9/importlib/__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 790, in exec_module
File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
File "/usr/lib/python3.9/site-packages/pip/_internal/commands/uninstall.py", line 6, in <module>
from pip._internal.cli.req_command import SessionCommandMixin
File "/usr/lib/python3.9/site-packages/pip/_internal/cli/req_command.py", line 20, in <module>
from pip._internal.network.session import PipSession
File "/usr/lib/python3.9/site-packages/pip/_internal/network/session.py", line 26, in <module>
from pip._internal.network.auth import MultiDomainBasicAuth
File "/usr/lib/python3.9/site-packages/pip/_internal/network/auth.py", line 34, in <module>
import keyring # noqa
File "/home/daboross/.local/lib/python3.9/site-packages/keyring/__init__.py", line 1, in <module>
from .core import (
File "/home/daboross/.local/lib/python3.9/site-packages/keyring/core.py", line 186, in <module>
init_backend()
File "/home/daboross/.local/lib/python3.9/site-packages/keyring/core.py", line 90, in init_backend
filter(limit, backend.get_all_keyring()),
File "/home/daboross/.local/lib/python3.9/site-packages/keyring/util/__init__.py", line 22, in wrapper
func.always_returns = func(*args, **kwargs)
File "/home/daboross/.local/lib/python3.9/site-packages/keyring/backend.py", line 214, in get_all_keyring
return list(rings)
File "/home/daboross/.local/lib/python3.9/site-packages/keyring/util/__init__.py", line 33, in suppress_exceptions
for callable in callables:
File "/home/daboross/.local/lib/python3.9/site-packages/keyring/util/properties.py", line 26, in __get__
return self.fget.__get__(None, owner)()
File "/home/daboross/.local/lib/python3.9/site-packages/keyring/backend.py", line 68, in viable
cls.priority
File "/home/daboross/.local/lib/python3.9/site-packages/keyring/util/properties.py", line 26, in __get__
return self.fget.__get__(None, owner)()
File "/home/daboross/.local/lib/python3.9/site-packages/keyring/backends/kwallet.py", line 50, in priority
bus.get_object(cls.bus_name, cls.object_path)
File "/usr/lib64/python3.9/site-packages/dbus/bus.py", line 241, in get_object
return self.ProxyObjectClass(self, bus_name, object_path,
File "/usr/lib64/python3.9/site-packages/dbus/proxies.py", line 250, in __init__
self._named_service = conn.activate_name_owner(bus_name)
File "/usr/lib64/python3.9/site-packages/dbus/bus.py", line 182, in activate_name_owner
self.start_service_by_name(bus_name)
File "/usr/lib64/python3.9/site-packages/dbus/bus.py", line 277, in start_service_by_name
return (True, self.call_blocking(BUS_DAEMON_NAME, BUS_DAEMON_PATH,
File "/usr/lib64/python3.9/site-packages/dbus/connection.py", line 652, in call_blocking
reply_message = self.send_message_with_reply_and_block(
File "/usr/lib64/python3.9/site-packages/dbus/exceptions.py", line 47, in __init__
def __init__(self, *args, **kwargs):
KeyboardInterrupt
์ฌ๊ธฐ์ ์ ๊ณ ํด ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค. ์ด๊ฒ์ด pip์ ํค๋ง ํตํฉ์ผ๋ก ์ธํด ๋ฐ์ํ๋ค๋ ๊ฒ์ด ์ด์ ๋ถ๋ช ํฉ๋๋ค. # 8687์ pip๊ฐ ํค๋ง์์ ๋ฌผ๊ฑด์ ์กฐํ ํ ๊ฐ๋ฅ์ฑ์ ํฌ๊ฒ ๋ฎ์ถ๊ณ # 8719๋ ์ตํธ ์ธ์ผ๋ก ๋ง๋ญ๋๋ค.
์ฌ๋๋ค์ ์ ๋ณด๋ฅผ ์ํด ํค๋ง ๋ชจ๋์ ์ด๋ค ๊ฒ์ผ๋ก ๋ ๊ฐ์ ธ ์ค๋ฉด ์ฝ๋๊ฐ ๋ช
์ ์ ์ผ๋ก ํค๋ง ๊ธฐ๋ฅ์ ํธ์ถํ๋์ง ์ฌ๋ถ์ ๊ด๊ณ์์ด ์ฌ๋ฐ๋ฅธ ํ๊ฒฝ์์ ๊ธด ์ค๋จ์ด ๋ฐ์ํ ์ ์์ต๋๋ค. ๊ฐ์ ธ ์ค๊ธฐ ํ์ด๋ฐ์ ํตํด ํ์ธํ ์ ์์ต๋๋ค : time python3 -c "import keyring"
. ๋์๊ฒ ์ด๊ฒ์ ๋ด๊ฐ ์๊ฒฉ์ผ๋ก ๋ก๊ทธ์ธํ๊ณ ๊ทธ๋ํฝ ๋ก๊ทธ์ธ ์ธ์
์ด์๋ Fedora 32 ์์คํ
์์ 25 ์ด ์ ๋ ๊ฑธ๋ฆฝ๋๋ค.
๋์๊ฒ ์ง์ ์ ์ธ ์์ธ์ ํค๋ง์ด ๊ฐ์ ธ ์ค๊ธฐ์์ ์ฝ๋๋ฅผ ์คํํ์ฌ ๊ฒฐ๊ตญ org.kde.kwalletd5์ DBus ์ฐ๊ฒฐ์ ์๋ํ๊ณ ๋งค์ฐ ๋๋ฆฌ๊ฒ ์คํจํ๋ค๋ ๊ฒ์ ๋๋ค. ๋ค์์ ์ฌ์ฉํ์ฌ ๊ธฐ๋ณธ ์ฝ๋๋ฅผ ๋ณต์ (๋ฐ ์คํจ ์ฌํ) ํ ์ ์์ต๋๋ค.
>>> import dbus
>>> from dbus.mainloop.glib import DBusGMainLoop
>>> bus = dbus.SessionBus(mainloop=DBusGMainLoop())
>>> bus.get_object('org.kde.kwalletd5', '/modules/kwalletd5')
ํค๋ง ์์ฒด์์์ด ์ฝ๋๋ priority()
๋ฉ์๋์ keyring / backends / kwallet.py์ ์์ต๋๋ค. kwalletd๊ฐ ์ด๋ฏธ ์คํ ์ค์ด ์๋๊ณ ์์ํ ์์๋ ๊ฒฝ์ฐ DBus ์์ฒด ๋๋ Python DBus ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ด์์ ๊ธด ์๊ฐ ์ด๊ณผ๊ฐ ํ์ํ ๊ฒ์ผ๋ก ๋ณด์
๋๋ค.
์ด๋ ํค๋ง ๋ชจ๋์ ์ ์ฒด ๊ฐ์ ธ ์ค๊ธฐ๊ฐ ๋จ์ง ์ฌ์ฉ์ด ์๋ ๋ชจ๋ ๋ช ๋ น ํ ํ๋๊ทธ์์ ์กฐ๊ฑด๋ถ ๋ฐ ๊ฒ์ดํธ๋์ด์ผ ํจ์ ์๋ฏธํฉ๋๋ค.
์ฌ๋๋ค์ ์ ๋ณด๋ฅผ ์ํด ํค๋ง ๋ชจ๋์ ๋ฌด์์ด๋ ๊ฐ์ ธ ์ค๋ฉด ์ฌ๋ฐ๋ฅธ ํ๊ฒฝ์์ ๊ธด ์ค๋จ์ด ๋ฐ์ํ ์ ์์ต๋๋ค.
์ด ์ ๋ณด์ ๊ฐ์ฌ๋๋ฆฝ๋๋ค. ํค๋ง ๋ชจ๋ ์์ฒด์ ์ฃผ์ ๋ฌธ์ ์ฒ๋ผ ๋ค๋ฆฝ๋๋ค. ์์ ํ์ ์ ๋ ดํฉ๋๋ค. ๊ฑฐ๊ธฐ์์ ๋ฒ๊ทธ๋ก ์ ๊ธฐ ๋์์ต๋๊น? ๋๋ pip์ ๋ํ ์ฐ๋ฆฌ์ ๊ณํ์ด์ด ํ๋์ ์ต์ ์ ํ๋์ ์ํํ๊ธฐ์ ์ถฉ๋ถํ๋ค๊ณ ์๊ฐํ์ง๋ง ๊ถ๊ทน์ ์ผ๋ก ์ด๊ฒ์ ์์ ํ๋ ๊ฒ์ ํค๋ง์ ์ ์ง ๊ด๋ฆฌ์์๊ฒ ๋ฌ๋ ค ์๋ค๊ณ ์๊ฐํฉ๋๋ค.
๋๊ตฐ๊ฐ๊ฐ keyring์ ๋ํ ๋ฒ๊ทธ ๋ณด๊ณ ์์ ๋งํฌ ํ ์ ์๋ค๋ฉด, ์ฐ๋ฆฌ๊ฐ ๊ทธ๋ค์ดํ๋ ์ผ์ ๋ชจ๋ํฐ๋งํ๊ณ ์ด๊ฒ์ ๋ง์ pip ์ฌ์ฉ์์๊ฒ ์กฐ์ธ์ ์ ๊ณต ํ ์์์ ๊ฒ์ ๋๋ค.
FWIW, ์ด๊ฒ์ ๋๋ฅด๋ ์ฌ์ฉ์๋ฅผ์ํ ํด๊ฒฐ ๋ฐฉ๋ฒ์ ์ฌ๊ธฐ์ ์ค๋ช ๋๋๋ก ํค๋ง์ ๋นํ์ฑํํ๋ ๊ฒ์ ๋๋ค : https://github.com/jaraco/keyring#disabling -keyring
๊ฑฐ๊ธฐ์์ ๋ฒ๊ทธ๋ก ์ ๊ธฐ ๋์์ต๋๊น? ๋๋
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
๋ค๋ฅธ ๊ฐ๋ฅํ ๋ฐ์ดํฐ ํฌ์ธํธ ์ถ๊ฐ :
pip list
์ WSL2์์ ์ฝ 90 ์ด๊ฐ ๊ฑธ๋ ธ์ต๋๋ค.DISPLAY ํ๊ฒฝ ๋ณ์๋ฅผ Windows ๋ฐ์คํฌํฑ์์ ์คํ๋๋ X ์๋ฒ๋ก ์ค์ ํ์ต๋๋ค. DISPLAY ํ๊ฒฝ ๋ณ์๋ฅผ ์ง์ฐ๊ฑฐ๋ ๋ด X ์๋ฒ๋ฅผ ์์ํ๋ฉด ์๊ฐ์ด 0.343 ์ด๋ก ๋ณ๊ฒฝ๋์์ต๋๋ค.