WEB2 - Python

설치 및 연동 - Windows

수업소개

이 수업에서는 윈도우즈에서 Python, Apache를 연동해 웹애플리케이션을 구동하는 방법을 살펴봅니다. 

 

 

웹서버 설치

 

 

Python 설치 및 실행

 

 

Apache와 Python을 CGI로 연동하는 방법

아파치의 환경설정 파일을 수정합니다. 필자는 아래의 위치에 파일이 있습니다. 

C:/Bitnami/wampstack-7.1.15-0/apache2/conf/httpd.conf

 

Document root(웹서버가 요청한 파일을 찾는 최상위 디렉토리)에 있는 파일 중 확장자가 py인 파일은 Python으로서 실행 되도록 합니다. 추가한 내용은 5~8행입니다. 

<Directory "C:/Bitnami/wampstack-7.1.15-0/apache2/htdocs">
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
    <Files "*.py">
      Options ExecCGI
      AddHandler cgi-script .py
    </Files>
</Directory>

 

mod_cgi 혹은 mod_cgid 기능을 활성화해야 합니다. httpd.conf에서 아래 행이 아래와 같이 #으로 시작한다면 #을 제거해주세요.

#LoadModule cgi_module modules/mod_cgi.so

 

웹서버를 재시작합니다. 

 

python script를 작성합니다. 

/htdocs/helloworld.py

#!python
print("content-type:text/html; charset=UTF-8\n")
print(1+1)

 

접속합니다. 

필자의 경우는 아래 주소였습니다. 자신의 주소에 접속하시면 됩니다. 

http://127.0.0.1/helloworld.py

 

오류가 발생하면 아래 경로에서 오류 메시지를 확인해봅니다. 

C:/Bitnami/wampstack-7.1.15-0/apache2/logs/error.log

 

댓글

댓글 본문
  1. 감사합니다. 파이썬 입문하였습니다 :)
  2. 생초보
    파이썬이랑 비트나미 하나도 남김없이 싹 지우고 다시깔아서 실행하니까 되네요..ㅠㅠ 뭐가 문제였던건지는 모르겠지만 된다는데 의의를 두려합니다 찝찝한 이 기분..
    대화보기
    • 생초보
      그대로 실행했는데 에러도 안뜨고 값이 바뀌지도 않고 html코드가 그대로 나오는데 어떻게 해야할까요... 퇴근 후 코딩공부가 취미인데 여기에 막혀서 헤매다가 두시간자고 출근하게 생겼습니다...고수님들 도와주세요...
    • 별짱
      python 설치 경로를 시스템 환경 변수 바꾸고 재부팅하니 됩니다..
    • Mocha
      와 오래 걸렸지만 넘 뿌듯하네요ㅠㅠ
    • 위처럼 파일 맨 위에 #!python 을 입력하려면
      시스템 환경변수를 설정해줘야 합니다.
      https://opentutorials.org......610
      이걸 따라서 환경변수를 설정해주고, 컴퓨터 재부팅해주시면 해결됩니당.
      저도 처음엔 안됐는데 재부팅하니까 바로 되네요
    • 클리퍼
      에러나고 않되서

      helloworld.py 파일 첫번째 줄에
      #!python 대신에 python.exe 파일이 있는 설치 경로로 수정하니 실행되네요..

      #!C:\Users\user\AppData\Local\Programs\Python\Python38-32\python.exe

      도와 주신 분들 감사합니다
    • 악어
      휴우 됐네요.. PATH도 잡고 python 전체경로도 넣고 안되다가 컴 다시 켜니까 됐네요
      감사합니다~
    • 브링스
      python 전체경로를 입력하면 되는데,,
      PATH 잡고는 왜 안될까요,,, PATH잡고 성공하신 분들은 바로 정상적으로 되셨나요,,,?
    • 스티븐잡숴
      완료
    • 워나
      한국말은 끝까지 듣고, 영상은 끝까지 봐야하는데.. 잃어버린 내 30분.. 뭐야 돌려줘요..
      윈도우10 VScode기준 작성
      #!(python설치경로[.exe까지 작성]) //(), []빼고 입력

      a = 3+4+5
      b = a/3
      print ("content-type: text/html; charset=utf-8\n")

      print(b)
    • 문수영
      저도 아래 에러로 고생을 했는데 python 설치 경로를 시스템 환경 변수에 추가하였더니 해결되었네요, 감사합니다. '[Sun Feb 16 17:41:10.029071 2020] [cgi:error] [pid 6512:tid 1224] (OS 2)지정된 파일을 찾을 수 없습니다. : [client ::1:52905] AH01223: couldn't spawn child process: C:/Bitnami/wampstack-7.3.13-0/apache2/htdocs/helloworld.py' '
    • Semjid Bolooj
      완성 너무 감사합니다
    • iamm00n
      웹쪽은 전혀 몰라 헤매고 있었는데, 큰도움이 되었습니다. 정말 감사합니다.
    • 기쁘다 #! 뒤 python 이 아닌 실제 python이 있는 위치 주소를 복사해서 붙여넣으니 4.0이 나왔네요 댓글로 해결법 써주신 많은 분들 너무 감사합니다. 순간 포기하려다 찾아보니 이런 행운이.. 집단지성 화이팅입니다. 파이썬도 화이팅해서 정진하겠습니다!!
    • dj bak
      감사합니다!!!
      대화보기
      • dj bak
        항상 좋은강의 감사드립니다 제작자분들!

        그리고 Baemaek님 덕에 오류해결.. 감사합니다:)
      • 칩과데일
        진짜 오래걸리긴했는데 무사히 이상없이 완료했습니다. 감사합니다.
      • ㅁㄴㅇㄹ
        그냥 아예 안되요 ,에러도 안떠요 그냥 소스코드만 보이지 cgi 안보여요
        참고로 코드 똑같이 다 따라했어요
      • ㅁㄴㅇㄹ
        그래도 안되는데요?;;
      • apldeap
        12/22
      • 제발요..
        혹시 파이참이랑 아파치톰캣도 연동가능할까요?
      • 쭈니니
        감사합니다. 복받으세요.ㅠㅠ
        대화보기
        • couldn't create child process 이 에러
          #!python 말고 실제 본인 컴퓨터에 python.exe 있는 위치
          #!C:\Users\Administrator\AppData\Local\Programs\Python\Python38-32 여기에 +\python.exe 해서 해결했어요.
        • 성취감
          눈물흘릴뻔했습니다. 너무 기뻐서
        • 쑤우
          수강완료. 감사합니다~
        • 굼벵이
          완료
        • Baemaek
          AH01223: couldn't spawn child process: C:/Bitnami/wampstack-7.3.10-0/apache2/htdocs/helloworld.py 에러가 나시는 분들은 참조해보세요.

          경로를 찾지 못하는 것은 !#python 부분에 python 대신 python이 설치된 경로를 입력해주면 됩니다.

          python 경로 찾는법: windows key 누르시고 python 입력하시면 python 3.7 (App)이 뜰텐데,
          오른쪽 눌러서 file location 가셔서 해당 파일 속성을 보세요.

          데이터 타입이 .exe 라면 그냥 그 경로를 복사하셔서 #! 뒤에 붙여주시면 되지만,

          대부분의 Shortcut일 경우가 많으실텐데요. 오른쪽 클릭하셔서 속성 > Shortcut 탭을 보시면 Location이 나와있습니다. 복사하셔서 !# 뒤에 붙여주세요.

          example)
          #!C:\Users\myname\AppData\Local\Programs\Python\Python37\python.exe
          a = 3 + 4 + 5
          b = a/3
          print("content-type: text/html; charset=utf-8\n")
          print(b)

          저장 후 브라우저 새로고침
        • 김광민
          AH01223 에러 해결
          해결방안1 : 파이썬 재설치 ->helloworld.py폴더 내용중 해당 부분 수정 #!python -> 올경로/python.exe로 변경
          해결방안2 : 환경변수 Path에 파이썬 실행파일 등록
        • 전준용
          Document root를 수정하였으나, 동영상처럼 에러도 뜨지않고 html 파일로만 반환하는 경우가 있습니다.
          이경우 Options ExecCGI 중간에 +를 추가하세요.
          아래와 같습니다.

          <Files "*.py">
          Options +ExecCGI
          AddHandler cgi-script .py
          </Files>
        • 동동
          어후 별짓 다했더니 드디어 됫당
        • 이경석
          감사합니다.
          덕분에 해결책을 찾았네요.
          저 역시 경로를 계속 못찾고 있어서 강제로 넣었더니 되긴 했습니다.
          다만 추후 새로운 파일을 생성할 때마다 위에 경로를 계속 지정해줘야 하는 불편함이 있을 것 같다는 예상이 되네요. 근본적인 해결방안을 다른분께서 제시해 주시길 바래봅니다.

          다시 한 번 감사드립니다.
          대화보기
          • Leo Kim
            비트나미 지우고 다시 깔고 난리치니까 되네요......
          • 에듀케이티드키드
            하 5시간만에됬네...
          • Inyeong Gim
            학점 4.0 맞은느낌!
          • 감사합니다! </Files>로 안닫아서 재시작이 안됐었어요!
            대화보기
            • lshsai
              아나콘다 & 파이참의 경우.... python.exe 위치를 못 찾겠다고 하시면

              #!python --> #!C:\Users\user\Anaconda3\python.exe
              으로 하시면 될것 같네요 ㅎㅎ
              대화보기
              • 밍쿠
                감사합니다!! 되네요!!!!!!!!!!!!!!!!!!!!!!!!!!!!
                대화보기
                • 장은희
                  저도 같은 에러 났었는데,
                  #!python
                  대신
                  #!python.exe 파일의 위치 (ex, #!C:\Python36\python.exe)
                  를 적으면 됩니다.

                  참고: https://stackoverflow.com......ser
                  대화보기
                  • 김대빵
                    couldn't create child process: 720002: aaa.py
                    [client 127.0.0.1:7865] AH01223: couldn't spawn child process: C:/Bitnami/wampstack-7.1.26-0/apache2/htdocs/aaa.py
                    error 잡기 힘들어요...ㅠㅠ
                  • 김대빵
                    집에서 되고, 회사는 안 되요.
                  • Ppine
                    C:\Bitnami\wampstack-7.1.25-0\apache2\htdocs>python helloworld.py
                    라고 하면 실행 되지만

                    C:\Bitnami\wampstack-7.1.25-0\apache2\htdocs>helloworld.py
                    라고 하면 실행이 안되는데 이건 왜 그런가요? ㅠ
                  • skykim
                    감사합니다~ 잠깐 헤메다가 환경변수 추가해서 웹에서 파이썬 제대로 실행되었어요 ㅎ
                    대화보기
                    • 겨울이_가고_봄이_찾아오죠
                      bitnami 설치 후 apach에 빨간 불이 켜진분은
                      http://yuilovestomato.tistory.com......ami 에서 따라 하면 됩니다.

                      지난 html수업때 댓글에 있더군요
                    • 에러로그 자체가 안뜨는 분.. 저는 127.0.0.1/helloworld.py 계속 들어가봤더니 되네여..atom 이 느려서 그런걸수도 있구 일단 시간갖고 해보시면 별다른 변화주지 않고도 알아서되네요
                    • 좌로보로스
                      OK. helloworld까지 완료.
                    • 희망남
                      감사합니다.
                    • 넓은세상
                      와 감사합니다 덕분에 됐어요!
                      couldn't create child process: 720002 < 이 키워드로 들어왔어요~!
                      대화보기
                      • 이런
                        경로설정을 그렇게 했다는게 아톰에서 첨에 #! 이 부분을 바꿔야한다는 건가요??.. 계쏙 발생해서
                        대화보기
                        • egoing's sun
                          4~5시간동안 에러때문에 고생 하다가 드디어 됬네요
                          밑에분들과 같은 에러가 떠서, 모든 방법을 해보았지만
                          파이썬을 설치할때 이고잉님이 하신대로 안했다가 큰코 다쳤어요 ㅠㅠ
                          만약
                          couldn't create child process: 720002: helloworld.py
                          AH01223: couldn't spawn child process: C:/Bitnami/wampstack-7.1.22-0/apache2/htdocs/helloworld.py

                          에러가 뜨면서 밑에 해결방안들로 해결이 되지 않으신다면
                          1. 저는 파이썬 버젼을 32bit->64bit (이건 상관이 있는지 모르겠습니다)
                          2. 지웠다가 설치할때 install for all users, precompile standard libarary를 체크하여 설치하고 경로설정을 #!python -> #!C:\Program Files\Python37\python.exe 로 했습니다.
                          이전에는 경로를 아무리 잡아줘도 못잡다가 저렇게 설치하니 잡히네요.
                        버전 관리
                        egoing
                        현재 버전
                        선택 버전
                        graphittie 자세히 보기