2024. 11. 26. 14:04ㆍWeb programming/Django
1. 아래 링크를 참고하여 터미널에서 PDM 설치
https://pdm-project.org/en/latest/#__tabbed_1_1
터미널에서 설치 중 오류 발생
오류 아래 링크로 해결
https://kirinman.tistory.com/138
2. pdm 환경변수 설정
Successfully installed: PDM (2.21.0) at /Users/lee/Library/Python/3.13/bin/pdm
Post-install: Please add /Users/lee/Library/Python/3.13/bin to PATH by executing:
export PATH=/Users/lee/Library/Python/3.13/bin:$PATH
아래 코드로 path 설정
touch ~/.zshrc
nano ~/.zshrc
export PATH="/Users/lee/Library/Python/3.13/bin:$PATH"
'''
저장 및 종료
Ctrl + X
Y (Yes)
Enter
'''
source ~/.zshrc # zshrc 적용
pdm add django(pip install django) # 최신버전 장고설치
- django-admin 실행하면 목록 나오는 것처럼 pdm으로 확인하는 방법
pip 은 init안해도 django-admin가능 , pdm은 init한 후 django-admin 기능 가능 init 안하면 아래같은 오류가 뜸
lee@leedaaeui-MacBookPro ifnpin % pdm run python -m django --help [ProjectError]: The pyproject.toml has not been initialized yet. You can do this by running pdm init.
PDM과 pip의 주요 차이점:
- pip: 바로 글로벌하게 설치되어 바로 사용 가능
- PDM: 프로젝트별 가상환경 관리를 위해 반드시 init 필요
PDM 사용 순서:
- 프로젝트 폴더 생성 및 이동
- PDM 초기화
(프로젝트 이름은 my-django-project 같이 입력)
- Django 설치
- 이후 Django 명령어 사용 가능
이렇게 하는 이유는 PDM이 프로젝트별로 독립된 환경을 만들어 의존성 충돌을 방지하기 위해
1. pdm init # 프로젝트 초기화
1-1 Please select (0): 0 (enter 입력)
1-2 Project name (ifnpin): django-test (django-test 입력)
2. pdm add django # Django 설치
3. pdm run django-admin startproject pragmatic # Django 프로젝트 생성
4.
Project version (0.1.0): pdm add django Do you want to build this project for distribution(such as wheel)? If yes, it will be installed by default when running pdm install. [y/n] (n):
Project version에는 'pdm add django'를 입력하지 말고, 하나씩 차례대로 입니다:
Project version (0.1.0):
그냥 Enter 키 누르기 (기본값 0.1.0 사용)
Do you want to build this project...:
n 입력하고 Enter (또는 그냥 Enter)
5.pdm run django-admin startproject pragmatic(django-admin startproject pragmatic이거를 pdm으로)
-> 프로젝트 시작
PDM은 자동으로 가상환경을 관리하므로, 별도로 venv나 virtualenv를 생성할 필요가 없음
lee@leedaaeui-MacBookPro ifnpin % pdm --version
PDM, version 2.21.0
lee@leedaaeui-MacBookPro ifnpin % ls -la
total 40
drwxr-xr-x@ 13 lee staff 416 Nov 26 16:12 .
drwx------@ 5 lee staff 160 Nov 26 10:00 ..
-rw-r--r--@ 1 lee staff 3104 Nov 26 16:08 .gitignore
-rw-r--r--@ 1 lee staff 126 Nov 26 16:08 .pdm-python
drwxr-xr-x@ 6 lee staff 192 Nov 26 15:46 .venv
-rw-r--r--@ 1 lee staff 19 Nov 26 16:08 README.md
drwxr-xr-x@ 2 lee staff 64 Nov 26 16:08 __pycache__
-rw-r--r--@ 1 lee staff 2189 Nov 26 16:11 pdm.lock
drwxr-xr-x@ 4 lee staff 128 Nov 26 16:11 pragmatic
-rw-r--r--@ 1 lee staff 283 Nov 26 16:11 pyproject.toml
drwxr-xr-x@ 4 lee staff 128 Nov 26 16:10 src
drwxr-xr-x@ 12 lee staff 384 Nov 26 14:29 test123
drwxr-xr-x@ 4 lee staff 128 Nov 26 16:08 tests
'lee@leedaaeui-MacBookPro ifnpin % source .venv/bin/activate
(ifnpin-3.13) lee@leedaaeui-MacBookPro ifnpin % '
위와 같이 가상환경 활성화하면 명령어에 pdm run 빼고 사용 가능
아래와 같이 하면 가상환경 안뜸
VSCode에서는:
- Cmd + Shift + P
- "Python: Select Interpreter"
- PDM 가상환경 선택
'lee@leedaaeui-MacBookPro ifnpin % pdm venv list
Virtualenvs created with this project:
- in-project: /Users/lee/Library/CloudStorage/GoogleDrive-da.lee@haezoom.com/내 드라이브/ifnpin/.venv'
pip에서 개발환경 셋업
cd ..
pip install django
django-admin startproject pragmatic # 프로젝트 시작
# 아래와 같이 가상환경 생성 후
# terminal 에서 (venv) 장고 다시 설치
(python manage.py migrate)
python manage.py runserver
# pragmatic 폴더로 이동
cd pragmatic
# PDM으로 서버 실행
(pdm run python manage.py migrate)
pdm run python manage.py runserver
cf) 서버 중단하려면: 터미널에서 Ctrl + C/ Ctrl + C를 누르면 pdm init을 취소도 가능
'Web programming > Django' 카테고리의 다른 글
직렬화 (0) | 2024.12.17 |
---|---|
Django MTV (0) | 2022.11.26 |