[Django 04] 데이터베이스 변경 가능 옵션

이제 장고에 디비를 붙여줄 시간이다.
Sqlite3이 기본으로 탑재되어 있으나, 다른놈들을 사용할수 있다고 한다.

settings.py

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': BASE_DIR / 'db.sqlite3',
    }
}

너무 깊게 들어가기 시작한게 아닌가 싶기도 한데..
일단 학습을 시작해보자.

공식 지원은 PostgreSQL, MariaDB, MySQL, Oracle, SQLite이다. Sqlite는 다 쓸만한데 복잡한거 하고 싶으면 커스터마이징 해서 알아서 잘 하라고 하네요.
3rd-party database backend로는 CockroachDB, Firebird, Microsoft SQL Server가 있답니다.

뭐 전 마리아가 맘에 드니.. 마리아를 볼께요.

MySQL 또는 MariaDB를 쓸 경우, DB API driver를 설치해야 합니다.(mysqlclient)
관련 자료

https://www.python.org/dev/peps/pep-0249/

https://pypi.org/project/mysqlclient/

생각보다 쉬워보이지 않는군요.
결국 전 그냥 Sqlite를 그냥 사용해 볼께요.

문서 읽다가 지쳐서 나가 떨어지느니.. 그냥 사용해보다가 필요해지면, 그때 더 자세히 볼께요.

Python3.8.3을 Ubuntu에 설치해보자.

아래 글들은 좀 보기 좋기 다듬을 예정이다. 임시글이라고 봐둘.. 쿨럭

Python 설치 가이드

파이썬을 요즘 만지작 만지작 거리는 중인데, 운영체제마다 설치방법이 약간씩 달라서 여간 번거롭다. 우분투는 설치도 잘 안하고, 한번 잘못 설치하면 골치 아프기 때문에 정리를 해놓는 형식이다.

다운로드 경로 찾고 wget으로 우분투에 다운로드

https://www.python.org/downloads/release/python-383/

위 링크로 들어가서 다운로드 항목을 찬찬히 살펴본다.
Gzipped source tarball

https://www.python.org/ftp/python/3.8.3/Python-3.8.3.tgz

링크는 위와 같다.

이제 다시 우분투로 돌아가서 wget으로 다운을 받는다.
10분정도 소요되는군..

wget https://www.python.org/ftp/python/3.8.3/Python-3.8.3.tgz

압축풀고 인스톨

 $ tar xvfz Python-3.8.3.tgz 
./congifure 

이렇게 하면 잘되야 하지만...
내 환경은 언제나 문제가 있지. ㅋㅋㅋ

configure: error: in `/home/magpiebros/downloadFiles/pythone3.8.3/Python-3.8.3':
configure: error: no acceptable C compiler found in $PATH

컴파일러를 설치해줘야 하나보다...
sudo apt-get install gcc
(이전에 visudo에 사용자에 해당 계정을 추가해주어야만 했다.)

다시 명령어를 날려본다.
./configure

후두루루루루룩... 뭔가 잘 된다.
다음 명령어를 실행
make
make도 없네..

sudo apt-get install gcc
make
후두루루루루룩... 뭔가 잘 된다.

sudo make install
후두루루루루룩... 뭔가 잘 된다.

이제 설치가 잘 된지 확인이 남았다.

python3 -V

sudo apt-get install idle-python3.8

idle-python3.8

개발 관련 라이브러리 추가 설치

$ sudo apt-get install build-essential checkinstall
$ sudo apt-get install libreadline-gplv2-dev libncursesw5-dev libssl-dev \
    libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev libffi-dev zlib1g-dev

컴파일

$ cd Python-3.8.1
$ sudo ./configure --enable-optimizations
$ sudo make altinstall


pip경로 에러 발생

python-pip is in the universe repositories, therefore use the steps below:

sudo apt-get install software-properties-common
sudo apt-add-repository universe
sudo apt-get update
sudo apt-get install python-pip

참고 사이트

다시 컴파일

sudo make altinstall

https://somjang.tistory.com/entry/PythonUbuntu에-Python-37-설치하기

pyautogui 라이브러리 사용중 pyautogui.locateOnScreen이 정상동작하지 않을 경우에 대처하는 방법

pyautogui 라이브러리 사용중 pyautogui.locateOnScreen이 정상동작하지 않을 경우에 대처하는 방법.

윈도우 사용자라면 이와 같은 경험은 없을것으로 본다.
하지만 맥 사용자가 화면을 캡쳐해서 사용하려다 보면, 같은 이미지인데 찾을수 없는 현상이 생기곤 한다.

아래 테스트1, 테스트2와 같은 경우이다.
하루 정도 고민을 하며, 집에 돌아오자마자 해보면서 원인을 찾았다.

import pyautogui

# 테스트 1
num7 = pyautogui.locateOnScreen('test.png')
print(num7)

# 결과는 None

# 테스트 2

# 신뢰도를 좀 낮춰야 판단이 가능하다. 이유는? 캡쳐시 사이즈 변경??
img = pyautogui.locateOnScreen('./7.png', confidence=0.8, grayscale = True)
print(img)

나와 같은 고민을 한 맥 유저가 있으신가??
그렇다면 아래와 같은 명령어로 이미지를 캡처한다음에 실행 시켜보도록 하자.
정상으로 이미지를 찾아내는 마법을 볼것이다.

image = pyautogui.screenshot()
image.save('test.png')

원인은 무엇일까?
이미지 사이즈를 비교해보진 않았으나, 맥은 @2x 와 같은 이미지 프로세싱 기술을 사용할것으로 보인다.

귀찮아서 검증은 생략한다.

도움이 되었길.