{"id":184,"date":"2020-05-18T11:05:44","date_gmt":"2020-05-18T02:05:44","guid":{"rendered":"http:\/\/poteto.co.kr\/?p=184"},"modified":"2020-05-18T13:19:57","modified_gmt":"2020-05-18T04:19:57","slug":"python-virtualenv-%ed%95%b4%eb%b3%b4%ea%b8%b0cygwin","status":"publish","type":"post","link":"http:\/\/poteto.co.kr\/wordpress\/?p=184","title":{"rendered":"python virtualenv \ud574\ubcf4\uae30(cygwin)"},"content":{"rendered":"\n<p>\ud37c\uc654\uc2b5\ub2c8\ub2e4. &gt;&gt; https:\/\/dgkim5360.tistory.com\/entry\/python-virtualenv-on-linux-ubuntu-and-windows<\/p>\n\n\n\n<p>python\uc758 \uac00\uc0c1\ud658\uacbd virtualenv \ubaa8\ub4c8\uc758 \uc0ac\uc6a9\ubc95\uc744 \uac04\ub2e8\ud558\uac8c \uc815\ub9ac\ud55c\ub2e4. python\uc758 \uac00\uc0c1\ud658\uacbd\uc774\ub780, \uc791\uc740 python\uc744 \uc0c8\ub85c \uc124\uce58\ud574\uc11c \ub0b4\uac00 \uc6d0\ud558\ub294 \ubaa8\ub4c8\ub9cc \uc6b4\uc6a9\ud558\ub294 \ubc14\uad6c\ub2c8\ub77c\uace0 \uc0dd\uac01\ud558\uba74 \ub41c\ub2e4. \uc6b4\uc601\uccb4\uc81c \uc548\uc5d0\uc11c \uc0c8\ub85c \uc6b4\uc601\uccb4\uc81c\ub97c \ub9cc\ub4e4\uc5b4\ub0b4\ub294 \uac00\uc0c1 \uba38\uc2e0(virtual machine)\uacfc \uac19\uc740 \ub9e5\ub77d\uc774\ub77c\uace0 \ubcfc \uc218 \uc788\ub2e4. \uac19\uc740 \ubaa8\ub4c8\uc774\ub77c\ub3c4 \uc774 \ubc84\uc83c \uc800 \ubc84\uc83c \ub2e4\ub978 \ubc84\uc83c\uc774 \ud544\uc694\ud560 \ub54c\ub098, python \ud504\ub85c\uadf8\ub7a8\uc744 \uc2e4\ud589\ud558\uae30 \uc704\ud55c \ucd5c\uc18c\ud55c\uc758 \ud658\uacbd\uc744 \ub9c8\ub828\ud558\uace0\uc790 \ud560 \ub54c, \uadf8\ub9ac\uace0 github \ub4f1\uc758 \uc800\uc7a5\uc18c\uc640 \uc5f0\uacc4\ud558\uace0\uc790 \ud560 \ub54c \ub4f1 \uac00\uc0c1\ud658\uacbd\uc740 \ub9e4\uc6b0 \ub2e4\uc591\ud558\uac8c \uc0ac\uc6a9\ub420 \uc218 \uc788\ub2e4. \uc774\uc820 \ud544\uc218\uc801\uc778 \uc694\uc18c\uac00 \ub41c python \uac00\uc0c1 \ud658\uacbd\uc758 \ub9ac\ub205\uc2a4\/\uc708\ub3c4\uc6b0\uc5d0\uc11c\uc758 \uc0ac\uc6a9\ubc95\uc744 \uc815\ub9ac\ud55c\ub2e4. (\ubcf8\uc778\uc774 \uc708\ub3c4\uc6b0\uc5d0\uc11c \uc4f0\ub824\uace0 \ud560 \ub54c\ub9c8\ub2e4 \uae4c\uba39\uc5b4\uc11c&#8230;.)<\/p>\n\n\n\n<h4>\ub9ac\ub205\uc2a4(ubuntu) \ud658\uacbd<\/h4>\n\n\n\n<p>ubuntu\uc758 \ud604\uc7ac \ucd5c\uc2e0 LTS \ubc84\uc83c\uc778 ubuntu 16.04 LTS\ub294 \uc6b4\uc601\uccb4\uc81c\uc5d0 \uae30\ubcf8\uc801\uc73c\ub85c python 2.7 \ubc84\uc83c\uacfc 3.5 \ubc84\uc83c\uc774 \ubaa8\ub450 \ud0d1\uc7ac\ub418\uc5b4\uc788\ub2e4. \uadf8\ub9ac\uace0 \uac01 \ubc84\uc83c\uc758 \uc2e4\ud589\uc740 \ub2e4\uc74c \uba85\ub839\uc5b4\ub97c \ud1b5\ud574 \ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\n$ python\nPython 2.7.12 (default, Jul 1 2016, 15:12:24)\n[GCC 5.4.0 20160609] on linux2\nType \"help\", \"copyright\", \"credits\" or \"license\" for more information.\n>>>\n\n$ python3\nPython 3.5.2 (default, Sep 10 2016, 08:21:44)\n[GCC 5.4.0 20160609] on linux\nType \"help\", \"copyright\", \"credits\" or \"license\" for more information.\n>>>\n<\/code><\/pre>\n\n\n\n<p><ins><\/ins><\/p>\n\n\n\n<p>\uadf8\ub9ac\uace0 python\uacfc \ud568\uaed8 \ub538\ub824\uc624\ub294 \uac83\uc774 \uc788\ub294\ub370 pypi (python package installer)\uc774\ub2e4. pip install &#8230; \ub85c \uc775\uc219\ud55c \uadf8\uac83\uc774\ub2e4. \ub9c8\ucc2c\uac00\uc9c0\ub85c python \ubc84\uc83c\uc5d0 \ub530\ub77c \ub2e4\uc74c\uacfc \uac19\uc774 \uc2e4\ud589\ud558\uace0 &#8211;version \uc635\uc158\uc744 \ud1b5\ud574 \uadf8 \ubc84\uc83c\uc744 \ud655\uc778\ud574\ubcfc \uc218 \uc788\ub2e4.<br><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\n$ pip --version\npip 8.1.2 from \/home\/user\/.local\/lib\/python2.7\/site-packages (python 2.7)\n$ pip3 --version\npip 8.1.2 from \/home\/user\/.local\/lib\/python3.5\/site-packages (python 3.5)\n<\/code><\/pre>\n\n\n\n<p>\uadf8\ub7fc \uc774\uc81c \uac00\uc0c1\ud658\uacbd\uc744 \uc0ac\uc6a9\ud558\uae30 \uc704\ud55c \uac00\uc0c1\ud658\uacbd \ubaa8\ub4c8 virtualenv\ub97c \uc124\uce58\ud558\uc790. \uc544\ub9c8\ub3c4 sudo\uc640 \ud568\uaed8 \uc368\uc57c\ud560 \uac83\uc774\ub2e4.<br><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\n# python 2.7\n$ pip install virtualenv\n\n# python 3.5\n$ pip3 install virtualenv\n<\/code><\/pre>\n\n\n\n<p>\uc774\uc81c virtualenv\uac00 \uc124\uce58\ub418\uc5c8\uace0, \ubc14\ub85c \uc258\uc5d0\uc11c \ub2e4\uc74c\uacfc \uac19\uc774 \uac00\uc0c1\ud658\uacbd\uc744 \uc2dc\uc791\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\n$ virtualenv venv\nRunning virtualenv with interpreter \/usr\/bin\/python\nNew python executable in \/home\/don\/venv\/bin\/python\nInstalling setuptools, pip, wheel...done.\n<\/code><\/pre>\n\n\n\n<p>\uc704 \uc791\uc5c5\uc774 \uc644\ub8cc\ub418\uba74 \ub0b4\uac00 \uc9c0\uc815\ud588\ub358 venv\ub77c\ub294 \ud3f4\ub354\uac00 \uc0dd\uc131\ub418\uace0 \uadf8 \uc548\uc5d0 \uc0c8\ub85c python\uc774 \uc124\uce58\ub418\uc5b4\uc788\uc74c\uc744 \uc54c \uc218 \uc788\ub2e4. \uc774\uc81c venv\ub97c \uac00\ub3d9\uc2dc\ud0a4\uace0, \uc815\ub9d0\ub85c \uc0c8\ub85c\uc6b4 python \ud658\uacbd\uc774 \uc0dd\uacbc\ub294\uc9c0 \ud655\uc778\ud574\ubcf4\uaca0\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\n$ source venv\/bin\/activate\n(venv) $ pip list\npip (8.1.2)\nsetuptools (28.7.1)\nwheel (0.30.0a0)\n<\/code><\/pre>\n\n\n\n<p><ins><\/ins><\/p>\n\n\n\n<p>\uc5ec\uae30\uc11c \ub450 \uac00\uc9c0\ub97c \ud655\uc778\ud560 \uc218 \uc788\ub2e4. \uccab \ubc88\uc9f8\ub85c, source \uba85\ub839\uc5b4\ub97c \ud1b5\ud574 venv \uac00\uc0c1\ud658\uacbd\uc758 activate\ub97c \uc2e4\ud589\ud558\ub2c8 \uadf8 \ub2e4\uc74c\ubd80\ud130\ub294 \uc258 \uba85\ub839\ucc3d \uc55e\ubd80\ubd84\uc5d0 (venv)\uac00 \ub530\ub77c \ubd99\uc5b4\ub2e4\ub2c8\ub294 \uac83\uc744 \ubcfc \uc218 \uc788\ub2e4. \uc774\ub294 \uc774\uc81c\ubd80\ud130 venv \uac00\uc0c1\ud658\uacbd \uc548\uc5d0 \uc788\ub294 \uac70\ub77c\uace0 \ub9d0\ud574\uc8fc\ub294 \uac83\uc774\ub2e4. \ub450 \ubc88\uc9f8\ub85c, venv \uc548\uc5d0\uc11c \uc124\uce58\ub41c \ubaa8\ub4c8\uc744 pip list \uba85\ub839\uc744 \ud1b5\ud574 \ud655\uc778\ud55c \uacb0\uacfc&#8230; \uc544\ubb34\uac83\ub3c4 \uc5c6\ub2e4\ub294 \uac83\uc774\ub2e4. pip, setuptools, wheel\uc740 \uac00\uc0c1\ud658\uacbd\uc744 \uc2dc\uc791\ud560 \ub54c \uae30\ubcf8\uc73c\ub85c \uc124\uce58\ub41c \uac83\uc774\ub2e4. (\uc774\ubbf8 pip list\ub97c \uc4f0\uace0 \uc788\uc9c0 \uc54a\uc740\uac00)<\/p>\n\n\n\n<p>\ud55c \uac00\uc9c0 \uad81\uae08\uc99d\uc774 \uc0dd\uae38 \ubc95\ud55c \uac83\uc774 \uc788\ub294\ub370, \ub2e4\uc2dc \ud55c \ubc88 \ubc84\uc83c \ubb38\uc81c\uc774\ub2e4. 2\ubc84\uc83c, 3\ubc84\uc83c\uc758 python \uac00\uc0c1\ud658\uacbd\uc744 \uc4f0\ub824\uba74 \uc5b4\ub5bb\uac8c \ud574\uc57c\ud558\ub098? \ub2e4\uc74c\uacfc \uac19\uc740 \ubc29\uc548\uc744 \ucb49 \ub098\uc5f4\ud574\ubcf8\ub2e4. \ub9d8\uc5d0 \ub4dc\ub294 \ubc29\ubc95\uc73c\ub85c \uc4f0\uba74 \ub41c\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\n# python 2\n$ python -m virtualenv venv\n$ virtualenv venv --python=python\n$ virtualenv venv --python=python2.7\n\n# python 3\n$ python3 -m virtualenv venv\n$ virtualenv venv --python=python3\n$ virtualenv venv --python=python3.5\n<\/code><\/pre>\n\n\n\n<p>\uc774\uc81c \ub0b4\uac00 \uc0ac\uc6a9\ud558\uace0\uc790 \ud558\ub294 \ubaa8\ub4c8\uc744 \ub9d8\ub300\ub85c \uc124\uce58\ud558\uba74 \ub41c\ub2e4. \uadf8 \uc124\uce58\ud55c \ubaa9\ub85d\uc740 \ub2e4\uc74c \uba85\ub839\uc5b4\ub97c \ud1b5\ud574 \uc815\ud655\ud55c \ub9ac\uc2a4\ud2b8\ub85c \uc800\uc7a5\ud574\ub450\uc790.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\n(venv) $ pip freeze > requirements.txt\n<\/code><\/pre>\n\n\n\n<p>\uc774\uc81c requirements.txt \ud30c\uc77c\uc5d0\uc11c \uc124\uce58\ub41c \ubaa8\ub4c8\uacfc \uadf8 \ubc84\uc804\uc774 \ub9ac\uc2a4\ud2b8\ub418\uc5b4 \uc800\uc7a5\ub418\uc5b4 \uc788\uc74c\uc744 \uc54c \uc218 \uc788\ub2e4.<br><\/p>\n\n\n\n<p>\uac00\uc0c1\ud658\uacbd\uc744 \ub098\uac00\uace0 \uc2f6\uc73c\uba74 \uac04\ub2e8\ud788 <code>deactivate<\/code>\ub77c\uace0 \uba85\ub839\ud558\uba74 \ub41c\ub2e4.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p>\uadf8\ub9ac\uace0, \ud639\uc2dc \uc678\ubd80 \uc811\uadfc\ub4f1\uc774 https\uac00 \ub9c9\ud600 \uc788\ub2e4\uba74, \uc544\ub798\uc640 \uac19\uc740 \uba85\ub839\uc5b4\ub85c \ud560 \uc218 \uc788\uc74c.<\/p>\n\n\n\n<p>\uc774\uac70 \uc88b\ub354\ub77c. <\/p>\n\n\n\n<p>pip &#8211;trusted-host pypi.org &#8211;trusted-host files.pythonhosted.org install \ub77c\uc774\ube0c\ub7ec\ub9ac\uba85<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\ud37c\uc654\uc2b5\ub2c8\ub2e4. &gt;&gt; https:\/\/dgkim5360.tistory.com\/entry\/python-virtualenv-on-linux-ubuntu-and-windows python\uc758 \uac00\uc0c1\ud658\uacbd virtualenv \ubaa8\ub4c8\uc758 \uc0ac\uc6a9\ubc95\uc744 \uac04\ub2e8\ud558\uac8c \uc815\ub9ac\ud55c\ub2e4. python\uc758 \uac00\uc0c1\ud658\uacbd\uc774\ub780, \uc791\uc740 python\uc744 \uc0c8\ub85c \uc124\uce58\ud574\uc11c \ub0b4\uac00 \uc6d0\ud558\ub294 \ubaa8\ub4c8\ub9cc \uc6b4\uc6a9\ud558\ub294 \ubc14\uad6c\ub2c8\ub77c\uace0 \uc0dd\uac01\ud558\uba74 \ub41c\ub2e4. \uc6b4\uc601\uccb4\uc81c \uc548\uc5d0\uc11c \uc0c8\ub85c \uc6b4\uc601\uccb4\uc81c\ub97c \ub9cc\ub4e4\uc5b4\ub0b4\ub294 \uac00\uc0c1 \uba38\uc2e0(virtual machine)\uacfc \uac19\uc740 \ub9e5\ub77d\uc774\ub77c\uace0 \ubcfc \uc218 \uc788\ub2e4. \uac19\uc740 \ubaa8\ub4c8\uc774\ub77c\ub3c4 \uc774 \ubc84\uc83c \uc800 \ubc84\uc83c \ub2e4\ub978 \ubc84\uc83c\uc774 \ud544\uc694\ud560 \ub54c\ub098, python \ud504\ub85c\uadf8\ub7a8\uc744 \uc2e4\ud589\ud558\uae30 \uc704\ud55c \ucd5c\uc18c\ud55c\uc758 \ud658\uacbd\uc744 \ub9c8\ub828\ud558\uace0\uc790 \ud560 \ub54c, &hellip; <\/p>\n<p class=\"link-more\"><a href=\"http:\/\/poteto.co.kr\/wordpress\/?p=184\" class=\"more-link\">\ub354 \ubcf4\uae30<span class=\"screen-reader-text\"> &#8220;python virtualenv \ud574\ubcf4\uae30(cygwin)&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[2],"tags":[112],"_links":{"self":[{"href":"http:\/\/poteto.co.kr\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/184"}],"collection":[{"href":"http:\/\/poteto.co.kr\/wordpress\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/poteto.co.kr\/wordpress\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/poteto.co.kr\/wordpress\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/poteto.co.kr\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=184"}],"version-history":[{"count":2,"href":"http:\/\/poteto.co.kr\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/184\/revisions"}],"predecessor-version":[{"id":186,"href":"http:\/\/poteto.co.kr\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/184\/revisions\/186"}],"wp:attachment":[{"href":"http:\/\/poteto.co.kr\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=184"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/poteto.co.kr\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=184"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/poteto.co.kr\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=184"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}