sys(System-specific parameters and functions) ๊ณต์ ๋ฌธ์ ๋ฅผ ์ดํด๋ณด๋ฉด sys๋ ์ธํฐํ๋ฆฌํฐ์ ์ํด์ ์ฌ์ฉ๋๊ฑฐ๋ ๊ด๋ฆฌ๋๋ ๋ณ์์ ํจ์์ ๋ํ ์ ๊ทผ์ ํญ์ ์ ๊ณตํ๋ ๋ชจ๋์ด๋ผ๊ณ ์ค๋ช ํ๊ณ ์๋ค.
์ฐ๋ฆฌ๋ import ๋ฅผ ํตํด ์ฌ์ฉํ๊ณ ์ถ์ ๋ชจ๋๊ณผ ํจํค์ง๋ฅผ ์ ์ฝ๊ฒ ์ฌ์ฉํ ์ ์๋ค. ๊ทธ๋ ๋ค๋ฉด ํ์ด์ฌ์ ์ด๋ป๊ฒ ์ฐพ์ ์ค๋๊ฒ์ผ๊น? ํ์ด์ฌ์ ๋ค์ 3๊ฐ์ง ์ฅ์๋ฅผ ์์๋๋ก ๋ณด๋ฉด์ ๋ชจ๋๊ณผ ํจํค์ง๋ฅผ ๊ฒ์ํ๋ค.
sys.module ์ ์ ์ผ ๋จผ์ ์ ๊ทผํ๊ณ , ๋๋ฒ์งธ๋ก built-in modules, ๋ง์ง๋ง์ผ๋ก๋ sys.path์์ ์ฐพ๋๋ค.
ํ์ด์ฌ์ด ๋ชจ๋๊ณผ ํจํค์ง๋ฅผ ์ฐพ๊ธฐ ์ํด ๊ฐ์ฅ ๋จผ์ ํ์ธ ํ๋ ์ฅ์์ด๋ค. dic ํํ์ ์๋ฃ๊ตฌ์กฐ๋ก ๊ฒฝ๋ก๋ฅผ ๋ํ๋ธ๋ค.
{ ๋ชจ๋์ด๋ฆ: ๋ชจ๋๊ฒฝ๋ก }
ํ์ด์ฌ์์ ์ ๊ณตํ๋ ํ์ด์ฌ ๊ณต์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค์ด๋ค. ์ด๋ฏธ ํ์ด์ฌ ์ค์น๋ ํฌํจ๋์ด ์๊ธฐ ๋๋ฌธ์ ๋ฐ๋ก ์ค์นํ์ง ์์๋ ์ฌ์ฉ๊ฐ๋ฅํ๋ค.
๋ง์ฝ ์ฐพ๊ณ ์ ํ๋ ๋ชจ๋๊ณผ ํจํค์ง๊ฐ sys.modules ๊ณผ built-in modules์๋ ์์ผ๋ฉด ๋ง์ง๋ง์ผ๋ก ๋ณด๋ ์ฅ์๊ฐ ๋ฐ๋ก sys.path ์ ๋๋ค. list ์๋ฃ๊ตฌ์กฐ ํ์ผ๋ก ๊ฒฝ๋ก๋ฅผ ๋ํ๋ธ๋ค. ๋ง์ฝ ์ด๊ณณ์์๋ ๋ชจ๋๊ณผ ํจํค์ง๋ฅผ ์ฐพ์ง ๋ชปํ๋ค๋ฉด ModuleNotFoundError ์ ๋ฐํํ๋ค.
['',
'/Users/song-eun-u/anaconda3/bin',
...
'/Users/song-eun-u/anaconda3/lib/python3.6/site-packages/IPython/extensions',
import sys
...
print(sys)
----์ถ๋ ฅ๊ฒฐ๊ณผ----
<module 'sys' (built-in)>
sys๋ฅผ import ํ๋ค์ ์ถ๋ ฅํด ๋ณด๋ฉด built-in modules ์ด๋ผ๋ ๊ฒ์ ์ ์ ์๋ค. ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ๋ณ๋์ ์ค์น์์ด ๋ฐ๋ก ์ฌ์ฉํ ์ ์๋ค.
์ปดํจํฐ์์ ํ์ผ์ ์์น๋ฅผ ๋ํ๋ผ๋ โก๏ธ์ ๋๊ฒฝ๋ก์ โก๏ธ์๋๊ฒฝ๋ก๋ก ์์น๋ฅผ ๋ํ๋ผ ์ ์๋ค.
์ ๋๊ฒฝ๋ก๋ ์ต ์์ ๋ฃจํธ ๋๋ ํ ๋ฆฌ๋ถํฐ ํ์ผ์ ์์น๊น์ง์ ๋ชจ๋ ๋๋ ํ ๋ฆฌ์ ๊ฒฝ๋ก๋ฅผ ํ์ํ๋ ๋ฐฉ๋ฒ์ด๋ค.
manage.py ํ์ผ์ ์์น๋ฅผ ์ ๋๊ฒฝ๋ก๋ก ํ์ํ ์
/Users/Amuse/Desktop/Dev/miniProjects/blog/manage.py
์๋๊ฒฝ๋ก๋ ํ์ฌ ์์นํด ์๋ ๋๋ ํ ๋ฆฌ๋ฅผ ๊ธฐ์ ์ผ๋ก ์๋์ ์ผ๋ก ํ์ผ์ ์์น๋ฅผ ํํํ๋ ๋ฐฉ๋ฒ์ด๋ค.
๋ง์ฝ ํ์ฌ์์น๊ฐ ๋ธ๋ก๊ทธ์ด๋ผ๋ฉด
/Users/Amuse/Desktop/Dev/miniProjects/blog/
'../' ์์ ๋๋ ํ ๋ฆฌ(miniProjects) ๋ฅผ ํ์ํ ๋ฐฉ๋ฒ์ด๋ค.
../
'../../' ๋๋จ๊ณ ์์ ๋๋ ํ ๋ฆฌ(Dev) ๋ฅผ ํ์ํ ๋ฐฉ๋ฒ์ด๋ค.
../../