PDM으로 Django 가상환경 설정부터 서버 실행까지 - pip과 비교 (Mac, VSCode)

2024. 11. 26. 14:04Web programming/Django

1. 아래 링크를 참고하여 터미널에서 PDM 설치

https://pdm-project.org/en/latest/#__tabbed_1_1

 

터미널에서 설치 중 오류 발생

오류 아래 링크로 해결

https://kirinman.tistory.com/138

 

certificate verify failed: unable to get local issuer certificate

아시는 분 외주 받은 일에서 sms 자동 발신 기능을 넣고 있는데 certificate verify failed: unable to get local issuer certificate 라는 에러를 마주침. 발신번호 등록의 문제인가 했는데 그 문제는 아니었음.(회

kirinman.tistory.com

 

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 사용 순서:

  1. 프로젝트 폴더 생성 및 이동
bash
Copy
mkdir my-django-project cd my-django-project
  1. PDM 초기화
bash
Copy
pdm init

(프로젝트 이름은 my-django-project 같이 입력)

  1. Django 설치
bash
Copy
pdm add django
  1. 이후 Django 명령어 사용 가능
bash
Copy
pdm run django-admin --help

이렇게 하는 이유는 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):

Edit

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에서는:

  1. Cmd + Shift + P
  2. "Python: Select Interpreter"
  3. 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