집에서는 그럴 일이 없지만, 회사/학교에서는 pip 패키지를 설치할 때 SSL CERT 오류가 발생하곤 한다.

SSL Proxy 때문에 문제가 발생하는 경우이다.

 

원초적인 해결방법은 PIP 옵션에 --trusted-host 옵션을 입력하는 것이다.

 

pip --trusted-host pypi.org --trusted-host files.pythonhosted.org install 라이브러리명


그러나 매번 저 호스트들을 어떻게 기억하겠는가.

이 경우 pip.ini 파일에 옵션을 적어주면 다음부터는 해당 옵션을 잊어버려도 된다.

pip.ini는 유닉스 계열의 경우 $HOME/.config/pip/pip.conf 에, 맥의 경우 $HOME/Library/Application Support/pip/pip.conf 또는$HOME/.config/pip/pip.conf에,윈도우는 %APPDATA%\pip\pip.ini 에 존재한다.

[global]

 

trusted-host = pypi.python.org

               pypi.org

               files.pythonhosted.org

 

상세한 것은 역시 공식 메뉴얼 참고

WSGI

  • Web Server Gateway Interface의 약자
  • 파이썬 웹 앱을 실행하기 위한 웹서버측 구현
역사
  • 1990년대 Grisha Trubetskoy가 개발한 mod_python 모듈을 통해 파이썬 코드를 웹서버에서 실행. 단순히 파이썬 코드를 실행하기 위한 것.
  • mod_python의 개발이 정체되고 보안상 취약점이 발견되면서 표준화된 인터페이스를 만들자는 논의가 시작.
  • PEP3333 표준에 정의한 대로 WSGI서버는 그냥 WSGI 기반 앱의 Callable Object를 부르는 형태.
WSGI의 목적
  • 유연성: 웹서버와 프레임웍 선택의 제약사항을 해소.
  • 스케일링: WSGI 서버
WSGI 컨테이너는 웹서버와 다른 포트를 사용하면서 실행되는 별도 프로세스. 웹 서버가 요청을 받아서 WSGI 컨테이너로 요청을 보낸다.


WebFrameWork: Django, Flask, Bottle
웹 서버: Green Unicorn, uWSGI, mod_wsgi, gevent


PEP-0333: WSGI v 1.0 standard http://www.python.org/dev/peps/pep-0333/

PEP-3333: WSGI v 1.0.1standard http://www.python.org/dev/peps/pep-3333/


Web Server Configuration templates

https://github.com/mattmakai/underwear/tree/master/underwear/roles/web/templates


+ Recent posts