성태의 닷넷 이야기
홈 주인
모아 놓은 자료
프로그래밍
질문/답변
사용자 관리
사용자
메뉴
아티클
외부 아티클
유용한 코드
온라인 기능
MathJax 입력기
최근 덧글
[정성태] 그냥 RSS Reader 기능과 약간의 UI 편의성 때문에 사용...
[이종효] 오래된 소프트웨어는 보안 위협이 되기도 합니다. 혹시 어떤 기능...
[정성태] @Keystroke IEEE의 문서를 소개해 주시다니... +_...
[손민수 (Keystroke)] 괜히 듀얼채널 구성할 때 한번에 같은 제품 사라고 하는 것이 아...
[정성태] 전각(Full-width)/반각(Half-width) 기능을 토...
[정성태] Vector에 대한 내용은 없습니다. Vector가 닷넷 BCL...
[orion] 글 읽고 찾아보니 디자인 타임에는 InitializeCompon...
[orion] 연휴 전에 재현 프로젝트 올리자 생각해 놓고 여의치 않아서 못 ...
[정성태] 아래의 글에 정리했으니 참고하세요. C# - Typed D...
[정성태] 간단한 재현 프로젝트라도 있을까요? 저런 식으로 설명만 해...
글쓰기
제목
이름
암호
전자우편
HTML
홈페이지
유형
제니퍼 .NET
닷넷
COM 개체 관련
스크립트
VC++
VS.NET IDE
Windows
Team Foundation Server
디버깅 기술
오류 유형
개발 환경 구성
웹
기타
Linux
Java
DDK
Math
Phone
Graphics
사물인터넷
부모글 보이기/감추기
내용
<div style='display: inline'> <h1 style='font-family: Malgun Gothic, Consolas; font-size: 20pt; color: #006699; text-align: center; font-weight: bold'>WSL 우분투 인스턴스에 파이썬 2.7 개발 환경 구성하는 방법</h1> <p> 우선, WSL 환경이니 우분투 버전에 자유로울 수 있으므로 20.04 버전 말고 18.04 버전의 우분투를 설치합니다. (20.04 버전에도 할 수 있겠지만 괴로울 것입니다. 그냥 속 편하게 18.04 버전으로 하는 것을 권장합니다.)<br /> <br /> 그다음 아래의 명령어를 차례대로 수행하면 됩니다.<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; background-color: #fbedbb; overflow: auto; font-family: Consolas, Verdana;' > $ <span style='color: blue; font-weight: bold'>sudo apt update</span> $ <span style='color: blue; font-weight: bold'>sudo apt upgrade -y</span> $ <span style='color: blue; font-weight: bold'>sudo apt install python -y</span> $ <span style='color: blue; font-weight: bold'>sudo apt install python-pip -y</span> </pre> <br /> 간단하죠? ^^ Ubuntu 18.04의 경우 패키지 repo에 연결된 기본 파이썬 버전이 2.7이기 때문입니다. (Ubuntu 20.04는 파이썬 3.8 버전이 기본입니다.)<br /> <br /> 부가적으로 uwsgi가 필요하다면 다음의 명령으로 설치합니다.<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; background-color: #fbedbb; overflow: auto; font-family: Consolas, Verdana;' > $ <span style='color: blue; font-weight: bold'>pip install uwsgi</span> </pre> <br /> 이후, 곧바로 실행하면 uwsgi를 찾을 수 없다고 뜨지만, wsl 인스턴스 창을 닫은 후 새롭게 띄우면 다음과 같이 실행됩니다. (혹은, 그냥 path 환경 변수에 uwsgi를 추가하도록 변경된 shell 스크립트를 재로드하면 될 것입니다.)<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; background-color: #fbedbb; overflow: auto; font-family: Consolas, Verdana;' > $ <span style='color: blue; font-weight: bold'>which uwsgi</span> /home/testusr/.local/bin/uwsgi $ <span style='color: blue; font-weight: bold'>uwsgi</span> *** Starting uWSGI 2.0.20 (64bit) on [Tue Mar 22 13:32:20 2022] *** compiled with version: 7.5.0 on 22 March 2022 04:32:10 os: Linux-5.10.60.1-microsoft-standard-WSL2 #1 SMP Wed Aug 25 23:20:18 UTC 2021 nodename: THE12 machine: x86_64 clock source: unix detected number of CPU cores: 24 current working directory: /home/testusr detected binary path: /home/testusr/.local/bin/uwsgi !!! no internal routing support, rebuild with pcre support !!! *** WARNING: you are running uWSGI without its master process manager *** your processes number limit is 127895 your memory page size is 4096 bytes detected max file descriptor number: 1024 lock engine: pthread robust mutexes thunder lock: disabled (you can enable it with --thunder-lock) The -s/--socket option is missing and stdin is not a socket. </pre> <br /> 또한 plugin도 부가적으로 이렇게 설치가 됩니다.<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; background-color: #fbedbb; overflow: auto; font-family: Consolas, Verdana;' > $ <span style='color: blue; font-weight: bold'>uwsgi --plugins-list</span> *** uWSGI loaded generic plugins *** gevent nagios rrdtool carbon corerouter fastrouter http ugreen syslog rsyslog logsocket router_uwsgi router_redirect router_basicauth zergpool redislog mongodblog router_rewrite router_http logfile router_cache rawrouter router_static sslrouter cheaper_busyness transformation_tofile transformation_gzip transformation_chunked transformation_offload router_memcached router_redis router_hash router_expires router_metrics transformation_template stats_pusher_socket *** uWSGI loaded request plugins *** <span style='color: blue; font-weight: bold'>0: python</span> 17: spooler 18: symcall 100: ping 110: signal 111: cache 173: rpc --- end of plugins list --- *** Starting uWSGI 2.0.20 (64bit) on [Tue Mar 22 13:33:58 2022] *** ...[생략]... </pre> <br /> 보다시피 python이 연결돼 있으므로 Django 등의 웹 프레임워크가 잘 실행이 됩니다.<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; background-color: #fbedbb; overflow: auto; font-family: Consolas, Verdana;' > $ <span style='color: blue; font-weight: bold'>uwsgi --http-socket :18091 --chdir /workshop/testprj/myapp --wsgi-file ./myapp/wsgi.py</span> </pre> <br /> <hr style='width: 50%' /><br /> <br /> 참고로, uwsgi의 경우 Ubuntu repo를 통해서 설치하면,<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; background-color: #fbedbb; overflow: auto; font-family: Consolas, Verdana;' > $ <span style='color: blue; font-weight: bold'>sudo apt install uwsgi</span> </pre> <br /> 이후 파이썬 호스팅 시에 다음과 같은 오류가 발생합니다.<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; background-color: #fbedbb; overflow: auto; font-family: Consolas, Verdana;' > $ <span style='color: blue; font-weight: bold'>uwsgi --http-socket :18091 --chdir /testprj/myapp --wsgi-file ./myapp/wsgi.py</span> uwsgi: unrecognized option '--wsgi-file' getopt_long() error </pre> <br /> 예전에 설명한 그 문제 때문입니다. ^^<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; background-color: #fbedbb; overflow: auto; font-family: Consolas, Verdana;' > WSL Ubuntu 20.04에서 파이썬을 위한 uwsgi 설치 방법 ; <a target='tab' href='https://www.sysnet.pe.kr/2/0/12857#apply_plugin'>https://www.sysnet.pe.kr/2/0/12857#apply_plugin</a> </pre> </p><br /> <br /><hr /><span style='color: Maroon'>[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]</span> </div>
첨부파일
스팸 방지용 인증 번호
4882
(왼쪽의 숫자를 입력해야 합니다.)