본문 바로가기

기타

Django dependency 문제

장고 버전 확인

# python3 -m django --version

 

원격 접속 수정 권한

# sudo chown -R ec2-user *

 

가상환경 생성 : # python -m venv [venvname]
가상환경 실행 : # source [venvname]/Scripts/activate or # source [venvname]/bin/activate


가상환경 종료 : # deactivate
장고 설치 : # pip install django
장고 삭제 : # pip uninstall django
특정 버전 설치 : # pip install django==2.1.15(ex:2.1.15)
서버 실행 : # python manage.py runserver
프로젝트 생성 : django-admin startproject [project name]

 

문제: python3 부터 pymysql 사용가능
1. vim /home/LaaS/Django/webvenv/lib/python3.7/site-packages/django/db/backends/mysql/base.py 의 import MySQLdb -> import pymysql 변경
2. app 수준 프로젝트 __init__.py 에 import pymysql
pymysql.install_as_MySQLdb() 추가

출처: ImportError: No module named 'MySQLdb' :: 이런저런 (tistory.com)

 

문제:

* 장고 2.2 버전 이하는 sqlite 3.7 로 실행가능

* 장고 2.2 버전 이상은 sqlite 3.9 로 실행가능

해결:

1. 장고 버전 낮추기

#  pip3 install django 2.1.6 등과 같이 기존 3 버전에서 2버전으로 다운 그레이드

 

2. sqlite 3.9 이상 버전 수동 설치

# sudo wget https://sqlite.org/2021/sqlite-autoconf-3360000.tar.gz
# sudo tar -zxf sqlite-autoconf-3360000.tar.gz
# cd /sqlite-autoconf-3360000

# ./configure --prefix=/usr/local

# make

# sudo make install

2.1. 컴파일 후 시스템 링크 라이브러리 반영

# echo "/usr/local/lib" >> /etc/ld.so.conf

# /sbin/ldconfig

2.2 설치한 sqlite3 반영

# grep ec2-user /etc/passwd (현재 사용중인 shell 확인)

# vim ~/.bashrc

아래와 같이 추가 

2.3 변경된 Bashrc Profile 적용

# source .bashrc

출처: Ossian Story :: [Django] Django Tutorial - Django 설치하기 (tistory.com)

3. 위 문제로 해결안될 때 방법

# wget https://kojipkgs.fedoraproject.org//packages/sqlite/3.8.11/1.fc21/x86_64/sqlite-devel-3.8.11-1.fc21.x86_64.rpm

# wget https://kojipkgs.fedoraproject.org//packages/sqlite/3.8.11/1.fc21/x86_64/sqlite-3.8.11-1.fc21.x86_64.rpm

# sudo yum install sqlite-3.8.11-1.fc21.x86_64.rpm sqlite-devel-3.8.11-1.fc21.x86_64.rpm

# sqlite3 --version

출처: https://joycecoder.tistory.com/109 [SongLee, 개발, IT, 맛집, 여행, Etc..]