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. ONEE
    20/07/06 시작:)
  2. 니이내이
    2020/07/01
    (이전까지 정상적으로 진행)
    두줄 가량의 error log 확인후 helloworld.py first line에 #!python을 적어줌

    문제 시작
    다시 reload했지만 파이참 에디터상의 error.log파일에 물음표가 생기면서 에러 로그 보는것 자체가 불가능해짐.
    물론 print("content-type: text/html; charset=utf-8\n") 결과도 안뜸.

    수정사항

    - 시스템변수 PATH 수정 (from 생활코딩 https://bit.ly/3eK5jPg)
    : 내컴퓨터 - 속성 - 고급시스템설정 - 환경변수 - 시스템 변수 - Path변수값중 %SYSTEMROOT%\System32\WindowsPowerShell\v1.0\에 ;C:\Program Files (x86)\Python38-32\을 추가해준다.

    - helloworld.py의 first line을 #!python에서 #!C:\Program Files (x86)\Python38-32\python.exe으로 바꿔주었다.

    - apache server stopped 문제 (from https://bit.ly/3dKTU0j)
    C:\Bitnami\wampstack-7.4.7-0\apache2\conf 디렉토리의 httpd 파일을 열어 SetEnv PATH "C:\Bitnami\wampstack-7.4.7-0/apache2/bin;${PATH}"라고 적힌 부분 앞에 #을 붙여준다. 관리자 권한으로 cmd를 켠뒤 cd \를해서 C:로 이동후 cd C:\Bitnami\wampstack-7.4.7-0\apache2\bin로 이동을 한다. 이후 httpd.exe -k install을 치면 됨. 설치돼있으면 httpd.exe -k start을 클릭하면됨. 이제 apache stop후 restart하면됨.

    -여전히 error.log는 안열린다. apache server도 stopped이다가 running이다가 알수가없다...
    -물론 4.0은 정상출력되고, cmd상의 문구도 정상적으로 출력된다. 일단 넘어가자.
  3. 개발개발개발
    64비트 설치해도 되나요??
  4. psyless
    20200606
  5. newbieno1
    error.log 에 에러가 뜨지 않는 경우에는 어떻게 해결할 수 있을까요..?
  6. marinelamp
    오....감사합니다.
    엄청 해매고 있었는데...
    진심으로 감사드립니다 ㅠㅠ
    대화보기
    • eddylee123456
      완료
    • 감사합니다. 파이썬 입문하였습니다 :)
    • 생초보
      파이썬이랑 비트나미 하나도 남김없이 싹 지우고 다시깔아서 실행하니까 되네요..ㅠㅠ 뭐가 문제였던건지는 모르겠지만 된다는데 의의를 두려합니다 찝찝한 이 기분..
      대화보기
      • 생초보
        그대로 실행했는데 에러도 안뜨고 값이 바뀌지도 않고 html코드가 그대로 나오는데 어떻게 해야할까요... 퇴근 후 코딩공부가 취미인데 여기에 막혀서 헤매다가 두시간자고 출근하게 생겼습니다...고수님들 도와주세요...
      • 별짱
        python 설치 경로를 시스템 환경 변수 바꾸고 재부팅하니 됩니다..
      • 와 오래 걸렸지만 넘 뿌듯하네요ㅠㅠ
      • 위처럼 파일 맨 위에 #!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
                      감사합니다~ 잠깐 헤메다가 환경변수 추가해서 웹에서 파이썬 제대로 실행되었어요 ㅎ
                      대화보기
                      버전 관리
                      egoing
                      현재 버전
                      선택 버전
                      graphittie 자세히 보기