본문 바로가기
프로젝트 기록/Python, django Project

Mac에 Python3 환경 세팅, mysqlclient 설치, MySQL 환경변수 설정

by jeong11 2025. 3. 25.
반응형

Mac OS에  python3 설치, 가상환경에 Django 설치하기, 동일한 가상환경 복사해 만들기 

https://tiny-immj.tistory.com/122

 

Mac OS에 python3, 가상환경에 Django 설치하기, 가상환경 동일하게 구성하기

파이썬에서 웹 개발할 일이 생겼습니다! 저는 데스크탑은 윈도우, 노트북은 맥을 사용하고 있기 때문에 맥에 먼저 세팅을 해주려 합니다올드 맥북이라 벽돌 되는 게 무서워서 업데이트를 잘 안

tiny-immj.tistory.com

 

프로젝트 용으로 Python3의 가상환경에 Django를 세팅해 보고, mysqlclient 설치와 MySQL 환경변수를 세팅해주려 합니다


가상환경 구축 

이거 꼭 해야할까요? 
파이썬에서는 외부 라이브러리를 많이 사용하는데, 서로 충돌할 위험이 높습니다
그래서 실제 프로젝트를 개발하는 경우에는 가상환경을 구성하는 것이 필수입니다! 

 

1. 프로젝트 생성 

먼저 프로젝트 폴더를 생성하기 위해 터미널을 열어줍니다 

프로젝트를 관리하기 위해 python3 폴더를 생성해 이동해 줍니다 

$ mkdir python3
$ cd python3

 

이제 python3 폴더에 django_project 라는 이름으로 프로젝트를 생성!

python3 $ mkdir django_project

 

터미널로 뚝딱

여기까지 가상환경 구축을 위한 준비가 완료되었습니다 

 

 

2. 가상환경 구축과 활성화시키기

① 가상환경 구축

venv라는 이름의 가상환경을 만들어보겠습니다 

$ python3 -m venv '가상환경 이름'

 

django_project 폴더로 이동하여, venv 라는 이름의 가상환경을 구축한다 

python3 $ cd django_project
django_project $ python3 -m venv venv

 

 

② 가상환경 활성화

가상환경을 활성화 시키는 방법은 가상환경 'venv' 폴더로 이동해 활성화 명령을 내리면 됩니다 

django_project $ cd venv
venv $ source bin/activate

 

가상환경 활성화 = 가상환경 안으로 진입한다 

가상환경 내에 있다는 것을 알려주기 위해 프롬프트에 (venv) 표시가 나타납니다 

가상환경 진입

 

 

3. 가상환경에 Django 설치와 MySQL 연결

● Django : 파이썬 웹 프레임워크로 쉽고 빠른 장점을 가지고 있다 

 

3-1. Django, MySQL client 설치

앞에 만들어준 가상환경을 활성화시킨 후 설치해 주면 됩니다

프로젝트에서 MySQL을 사용할 예정이므로 Django와 MySQL 클라이언트를 함께 설치해줍니다 

맥에는 python2가 기본으로 설치되어 있기 때문에 구분을 위해 pip install 대신 python3용 pip3 install 명령어를 사용하겠습니다

(venv) $ pip3 install django mysqlclient

 

3-2. 에러 해결

※ 설치 중 에러 발생

앗 에러 발생

☞ pkg-config가 없어서 mysqlclient가 제대로 설치되지 않는  문제가 생겼습니다  

 

해결 방법 → mac OS에 pkg-config를 설치해 주자! 

① 실행되어 있는 가상환경 비활성화 

(venv) $ deactivate

 

 

② Homebrew 설치(있다면 ③ 바로 진행)

Homebrew :  mac OS에서 패키지를 설치할 때 필요한 툴 

설치 진행 중

▷ 설치 명령어

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

설치 명령어를 입력하면 맥 노트북 비밀번호 입력하는 칸이 나옵니다

비밀번호 입력하고 엔터 누르면 설치가 진행됩니다 

 

▷ 설치 및 Homebrew 여부 확인

버전 번호가 나오면 설치 성공!

 

brew --version

 

 

③ pkg-config를 시스템에 설치

드디어 pkg-config 맥에 설치

▷ 설치 명령어

brew install pkg-config

 

▷ 설치 확인

버전 번호가 나오나면 정상 설치됨

pkg-config --version

 

 

④ *MySQL 환경변수 설정*

MySQL 개발 라이브러리를 찾을 수 있도록 환경변수를 설정해 준다 

새로운 터미널을 열어도 환경변수를 적용하기 위해 ~ / .zshrc (또는 ~ / . bash_profile)을 추가해 준다 

각각 한 줄씩 실행한다! 

 

▷ 명령어

echo 'export PATH="/usr/local/opt/mysql-client/bin:$PATH"' >> ~/.zshrc
echo 'export MYSQLCLIENT_CFLAGS="-I/usr/local/opt/mysql-client/include"' >> ~/.zshrc
echo 'export MYSQLCLIENT_LDFLAGS="-L/usr/local/opt/mysql-client/lib"' >> ~/.zshrc

 

▷ 설정 적용(마지막 한 번만 실행)

source ~/.zshrc

 

터미널에서 환경변수 진행과 확인

 

▷ 환경변수 확인 명령어

echo $PATH
echo $MYSQLCLIENT_CFLAGS
echo $MYSQLCLIENT_LDFLAGS

 

▷ 환경변수 설정이 적용됐는지 확인

which mysql

 

 

터미널 결과

명령어를 입력했으나 결과는 적용 실패

 

▷ 환경 변수는 적용이 된 것을 확인할 수 있으나 which mysql 결과가 나오지 않는다 

→ MySQL이 해당 경로에 없거나, 설치가 되지 않았다 

→ 설치가 안됬을 리는 없으니 MySQL이 어디에 설치되어 있는지 확인해 보자 

ls /usr/local/opt/mysql-client/bin

 

실행

MySQL과 실행파일 발견!

 

이 방법이 보기 불편하다면 방법 2로 확인해 본다  

/usr/local/mysql/bin/mysql --version

 

실행했을 때 MySQL 버전이 출력되면, mysql이 /usr/local/mysql/bin에 설치되어 있다는 뜻으로 볼 수 있다

mysql 버전과 위치를 더 친절히 알려줍니다

 

▷ 해결방법 :  ~/ .zshrc에 MySQL이 있는 경로를 추가해 준다

echo 'export PATH="/usr/local/mysql/bin:$PATH"' >> ~/.zshrc
echo 'export LDFLAGS="-L/usr/local/mysql/lib"' >> ~/.zshrc
echo 'export CPPFLAGS="-I/usr/local/mysql/include"' >> ~/.zshrc

 

설정 적용

source ~/.zshrc

 

설정 적용 확인하기 

which mysql

 

실행 화면

다시 적용이 잘된 것을 확인할 수 있다

mysql --version도 실행해 봤다 

 

▷ 처음에 적용되지 않은 원인 : 

처음에 세 번 실행한 환경변수는 Homebrew로 설치한 mysql을 위한 명령어이다 

나는 공식 홈페이지에서 설치했기 때문에 제대로 적용이 되지 않았던 것!!! 

그래서 다시 MySQL 서버의 실행파일이 들어있는 /usr/local/mysql/bin 경로를 PATH에 추가해 주었더니 해결된 것이다! 

(공식 홈페이지에서 MySQL을 설치하면 실행파일인 mysql, mysqld, mysqladmin 등이 /usr/local/mysql/bin에 저장된다)

 

⑤ mysql_config의 경로 확인 후 수정

mysqlclient는 MySQL 설치 경로에 있는 mysql_config라는 스크립트를 사용해 MySQL의 경로를 찾는다 

which mysql_config 명령어로 경로를 확인 → 경로를 pkg-config와 연결해줘야 한다 

which mysql_config

 

config의 경로 확인

지금 내가 확인한 것처럼 mysql_config가 /usr/local/mysql/bin/mysql_config에 있다면

그 경로를 PKG_CONFIG_PATH에 추가해 준다 

 

▷ 추가 환경변수 설정

echo 'export PKG_CONFIG_PATH="/usr/local/mysql/lib/pkgconfig:$PKG_CONFIG_PATH"' >> ~/.zshrc

 

▷ 저장 확인 

source ~/.zshrc

 

실행 화면

명령어 실행 완료

 

⑥ 지금까지 정리한 환경변수 확인 및 수정 

혹시나 실수해서 수정이 필요한 경우/지금까지 환경변수를 맞게 입력했는지 헷갈릴 때 파일을 열어 확인해 볼 수 있다 

nano ~/.zshrc

 

환경변수가 저장된 파일이 열린다

수정해 줄 라인이 있으면 수정한 후 

Ctrl+X를 누르고 Y 입력해 저장 

Enter를 눌러 빠져나오면 된다 

 

수정한 후에는 다시 반영해줘야 하므로 터미널에 해당 명령어 실행한다 

source ~/.zshrc

 

⑦ 변수명으로 확인해 보는 방법

echo $PATH
echo $CPPFLAGS
echo $LDFLAGS
echo $PKG_CONFIG_PATH

결과 확인 완

 

특정 환경변수 인식이 안된다 (PKG_CONFIG_PATH) ~ 해당 안 되는 분은 럭키... 넘어가셔요

다 완료되었다고 생각하고 다시 설치를 했는데도 오류가 났다

터미널을 새로 켜서 테스트해 보니 저장해 준 PKG_CONFIG_PATH가 인식이 안되고 있었다

 

▷ 확인 사항 : 

이슈를 넘으면 또 다른 이슈

→ .zshrc가 제대로 작동하는지 확인하기 위해 아래 명령어를 입력한다 

source ~/.zshrc
echo $PKG_CONFIG_PATH

이렇게 했을 때 저장해 둔 변수 값이 나오는지 확인해 보니(사진에서 왼쪽) 잘. 나. 온. 다! 

터미널을 오픈하고 불러오지 않고 변수 값을 찾아보면 결과가 나오지 않는다(사진에서 오른쪽) 

설정은 맞지만 터미널이 .zshrc가 자동으로 로드하지 않는 문제라고 한다  

 

해결 방법 1 : 

.zprofile 설정을 해주자

.zprofile 에 .zshrc를 자동으로 로드하도록 설정해 준다 

echo 'source ~/.zshrc' >> ~/.zprofile
source ~/.zprofile

 

터미널 종료 후 다시 값이 정상적으로 나오는지 확인해 본다 

echo $PKG_CONFIG_PATH

 

여전히 값이 빈칸으로 나온다 휴

그러면 두 번째 방법을 진행해 본다 

 

해결 방법 2

로그인 쉘이 제대로 설정되지 않을 가능성을 확인해 본다 

 

먼저 현재 사용 중인 쉘을 확인해본다 

echo $SHELL

 

나온 결과

/bin/bash

 

 

bash 쉘을 사용 중이라서 .zshrc가 로드되지 않을 수 있으니, 기본 쉘을 zsh로 변경해 준다

chsh -s /bin/zsh

 

터미널 종료 후 변경된 쉘 확인

echo $SHELL
/bin/zsh

 

변수 값이 제대로 나오는지 확인해 본다 

echo $PKG_CONFIG_PATH

드디어 변수 값 등장

이제 mysqlclient 설치를 다시 진행해 보자 

 

 

3-3. mysqlclient 설치 

① 이동

cd python3/django_project

 

② 가상환경 다시 활성화

django_project $ source venv/bin/activate

 

venv 가상환경 다시 진입!

 

③ mysqlclient 다시 설치하기

(venv) $ pip3 install --no-cache-dir mysqlclient

 

드디어 설치가 제대로 완료되었습니다

 

3-4. Django 설치도 다시!

 

아까 설치 못해준 장고도 까먹지말기

Django 설치 명령어

pip install django

 

 

설치가 잘 되었는지 버전 확인해보기

설치 확인 

django-admin --version

 

 

다음 포스팅에서는 실제 프로젝트에 MySQL 연결하는 방법을 진행해 보겠습니다

 

 

반응형