200206_TIL
06 Feb 2020 | TIL- 파이썬 패키지 완강
프로젝트마다 쓰는 버전도 다르고 쓰는 패키지도 다르기 때문이다. 한 파이썬을 썼다가 버전도 꼬이고 문제가 생길 수 있기에 가상환경을 통해 버전도 나누고 패키지도 따로 관리할 수 있다.
Project A | Project B | Project C |
---|---|---|
Python 3.6 | Python 2.x | Python 3.7 |
Django | Numpy, Tensorflow | PyQT5 |
Web | Data Analysis | GUI APP |
# 생성하기
python -m venv python_basic
# 활성화하기
./activate.sh
# 비활성화하기
deactivate
명령어 | 설명 | 비고 |
---|---|---|
pip list | 설치 리스트 확인 | |
pip install [패키지명] | 최신 패키지 설치 | -r requirements.txt 파일의 패키지 정보들로 설치, --upgrade [패키지명] 패키지 업그레이드 |
pip uninstall [패키지명] | 패키지 삭제 | y or n 입력 |
pip search [패키지명] | 패키지 검색 | |
pip show [패키지명] | 패키지 정보 소개 | |
pip freeze | 패키지 버전 확인 | pip freeze > requirements.txt 패키지 버전 파일에 저장 |
Django를 들으면서 알게된 것들을 정리하는 페이지.
명령어와 지식들을 정리하고자 한다.
Mac 기준으로 작성했습니다.
|명령어|설명|비고|
|-|-|-|
|django-admin startproject 프로젝트|장고 프로젝트 디렉토리 생성||
|./manage.py startapp 앱이름|장고 앱 생성|생성 후 프로젝트 settings.py에 앱 추가|
|./manage.py makemigrations|||
|./manage.py migrate|||
|./manage.py createsuperuser|관리자 계정 생성|migrate로 앱 등록 후 생성해야 함. 안그러면 django.db.utils.OperationalError: no such table: auth_user
에러 표시|
|./manage.py runserver|개발 서버 실행, debug용으로 좋음. 배포 시에는 settings.py에서 debug=False로 바꿔줘야 함|명령어 뒤에 0.0.0.0:8080같은 걸로 포트 번호 변경 가능|
'APP_DIRS' : True
이 옵션이 True로 되어있다면, 각 앱의 templates디렉토리에서 찾아본다는 의미이다. 만약 각 폴더에 base.html
이라는 파일이 있고, 앱들 각자 이 파일을 상속받는다 치면, 첫 번째로 찾는 base.html
파일을 참고하게 된다. 이를 주의하자.
장고를 디버깅할 때 더 편리하라고 debug-toolbar를 제공한다.
pip install django-debug-toolbar
# settings 파일에 추가
INSTALLED_APPS += [
'debug_toolbar',
]
MIDDLEWARE += [
'debug_toolbar.middleware.DebugToolbarMiddleware',
]
# 그리고 프로젝트의 urls.py에 아래 내용 추가
if settings.DEBUG:
import debug_toolbar
urlpatterns = [
path('__debug__/', include(debug_toolbar.urls)),
# For django versions before 2.0:
# url(r'^__debug__/', include(debug_toolbar.urls)),
] + urlpatterns