 <패키지의 인스톨>.png)
【Python/Django】자주 사용하는 명령의 정리(2) <패키지의 인스톨>
배경
Python/Django에서 개발을 진행할 때, 자주 사용하는 명령을 정리해 둡니다.
선인들의 지혜를 빌리는 등 해 해결할 수 있었던 것을, 이 자리를 빌려 감사하는 것과 동시에, 대단히 죄송합니다만 자신의 메모로서도, 이쪽에 정리해 둡니다.
환경
(프로덕션 환경)
(개발 환경)
1. 패키지 소프트웨어 설치
Python은 "pip"명령을 사용하여 인터넷을 통해 다양한 패키지 소프트웨어를 쉽게 설치할 수 있습니다.
또한, 어떤 패키지 소프트웨어가 있는지는 PyPI(The Pyhon Package Index)에서 확인할 수 있습니다.
Python 가상 환경으로 들어가서 다음을 수행합니다.
터미널
(venv_<プロジェクト名>)$ pip install django 最新バージョンをインストールする場合
(venv_<プロジェクト名>)$ pip install django==3.1.3 指定するバージョンをインストールする場合
설치한 패키지의 버전은 아래에서 확인할 수 있습니다.
터미널
(venv_<プロジェクト名>)$ python -m django -- version
3.1.3
다른 패키지 설치(예)
터미널
(venv_<プロジェクト名>)$ pip install psycopg2-binary
(venv_<プロジェクト名>)$ pip install django-allauth
(venv_<プロジェクト名>)$ pip install pillow
(venv_<プロジェクト名>)$ pip install selenium
(venv_<プロジェクト名>)$ pip install boto django-ses
(venv_<プロジェクト名>)$ pip install gunicorn
모듈 이름
설명
psycopg2-binary
PostgreSQL에 Python에서 접속할 때에 사용하는 드라이버
장고 알라우스
로컬 및 소셜 인증을 지원하는 인증 기능 패키지
pillow
웹 애플리케이션을 통해 업로드된 정적 파일을 처리할 때 사용하는 패키지
selenium
Live Server Test Case 클래스를 사용한 테스트 방법으로 사용하는 패키지 ※별도Chrome용 드라이버가 필요
장고세
Amazon SES(Simple Email Service)를 사용하는 데 필요한 패키지
gunicorn
(Green Unicorn의 약자) Python의 wsgi (Web Server Gateway Interface) HTTP 서버
번외편 : pip 자체 업그레이드
때때로 pip 자체도 버전 업하고 있기 때문에 pip 명령을 실행하면 "업그레이드하십시오!"」라고 부탁드립니다.
그런 경우에는 다음을 수행합니다.
터미널
$ python -m pip install --upgrade pip
2. 설치된 모듈 목록 만들기
Python 개발 환경에 설치한 모듈을 파일로 내보냅니다.
그런 다음 내 보낸 파일을 기반으로 프로덕션 환경에 모듈을 설치합니다.
2-1. 설치된 모듈 목록을 파일로 출력합니다.
터미널
(venv_<プロジェクト名>)$ pip freeze > requirements.txt
requirements.txt (예)
appdirs==1.4.4
astroid==2.4.2
beautifulsoup4==4.9.3
certifi==2020.11.8
chardet==3.0.4
colorama==0.4.4
distlib==0.3.1
filelock==3.0.12
idna==2.10
isort==5.6.4
lazy-object-proxy==1.4.3
mccabe==0.6.1
numpy==1.19.4
pandas==1.1.4
Pillow==8.0.1
pipenv==2020.11.15
pylint==2.6.0
python-dateutil==2.8.1
pytz==2020.4
requests==2.25.0
selenium==3.141.0
six==1.15.0
soupsieve==2.0.1
toml==0.10.2
urllib3==1.26.2
virtualenv==20.1.0
virtualenv-clone==0.5.4
wrapt==1.12.1
2-2. 내 보낸 requirements.txt를 프로덕션 환경의 홈 디렉토리로 전송합니다.
※ PuTTY와 WinSCP를 사용합니다.
※ PuTTY를 사용하여 Amazon EC2(Elastic Compute Cloud)에 연결할 때는 "PuTTY를 사용하여 Windows에서 Linux 인스턴스에 연결"을 참조하십시오.
2-3. python 가상 환경으로 들어가서 다음을 실행하여 설치를 실행합니다.
터미널
(venv_<プロジェクト名>)$ pip install -r requirements.txt
(관련)
【Python/Django】자주 사용하는 커멘드의 정리 (1) <가상 환경, 프로젝트, 어플리케이션의 작성>
【Python/Django】자주 사용하는 커멘드의 정리(3) <PostgreSQL의 조작>
【Python/Django】자주 사용하는 커멘드의 정리(4)-전편- <프로덕션 운용:Amazon EC2 (Amazon Linux 2)>
【Python/Django】자주 사용하는 커멘드의 정리(4)-후편- <프로덕션 운용:Amazon EC2 (Amazon Linux 2)>
(편집 후기)
설치를 잊어 버리는 경향이 놀랍게도 django-ses입니다.
테스트 시에는 콘솔에 로그나 메일 내용을 출력시키고 있는 것도 일인입니다만, 어플리케이션 작성을 시작한 지 얼마 안 되면, 마이그레이션시에, 자주 『django-ses가 부족하다! 」라고 화났습니다.
사용자 인증을 통하거나 문의 폼을 설치하거나 하는 WEB 사이트나 WEB 어플리케이션을 작성할 때는, 반드시라고 말해도 좋을 정도로 django-ses 의 신세가 될 것이므로, 설치하는 패키지에도 의식을 향해, 개발을 추구하고 싶습니다.