본문 바로가기
my_lesson/_Python

Python - Error Cheat sheets

by boolean 2019. 6. 27.
728x90

Python - Error Cheat Sheets

 
You are trying to add a non-nullable field 'account_nm' to stocksingleacount without a default; we can't do that (the database needs something to populate existing rows).
makemigrations 를 이용하여 모델 스키마를 수정하려 할 때 발생하는 NULL 설정 에러이다
추가되는 컬럼에 
NULL =True 해주거나
Default = '' 값을 지정해주면 된다

익숙해지기 전까지는
절대 DB 시스템에서 drop하거나 alter 하지말자

1. 기존모델을 수정 (종속성 구조도 같이수정 admin.py, views.py)

2. python manage.py makemigrations
3. python manage.py migrate


잘 안되면 댓글 바랍니다
 
django.db.utils.ProgrammingError: (1146, "Table doesn't exist")

I dropped some table related to an app. and again tried the syncdb command

drop 된 table과 관련된 종속성을 제거한뒤  (admin.py, views.py) 아래명령을 실행후 다시 연결한다

python manage.py makemigrations
python manage.py migrate --fake

출처 : https://stackoverflow.com/questions/27583744/django-table-doesnt-exist

attempted relative import beyond top-level package

attempted relative import with no known parent package django

django 프로젝트 내부 중에서 최상위 노드로 이동하여 해당 package의 module을 불러온다

최상위 노드의 파일이나 폴더 접근시 점(.)을 생략한다.

ex) from myApp.packages/package/myModule import moduleName

 

Trailing whitespace

is any spaces or tabs after the last non-whitespace character on the line until the newline.

문장이 끝나고 나오는 최초의 공백문자에서 줄바꿈문자 사이에 있는 곰백문자 삭제

 

statement with no effect

"""

#Python does not have a multi-line comment.

pep8 경고를 무시하고 사용하거나 

"""

# 줄마다 #을 붙힌다

# 이렇게

 

django.core.exceptions.ImproperlyConfigured: Requested setting LOGGING_CONFIG, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings.

별도의 python 파일을 개별로 실행 하므로서 발생하는 settings 오류이다

해당 파일의 최 상단에 다음 코드를 추가해서 settings 파일 위치를 알려주자

import os

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "myAppName.settings")

 

django.core.exceptions.AppRegistryNotReady: Apps aren't loaded yet.

별도의 python 파일을 개별로 실행 하므로서 발생하는 app loadding 오류이다

해당 파일의 최 상단에 다음 코드를 추가하여 수동으로 앱읗 로딩해주자

import django

django.setup()

 

sqlite3 DLL load failed: 지정된 모듈을 찾을 수 없습니다

가상환경이라면 가상환경을 벗어나서  conda update --all 해보자

그래도 안되면 파란 부분 글씨를 검색해보자

 cmd 나 편집기를 닫고 새로열어 재실행해보자

 

UnicodeDecodeError: 'utf-8' codec can't decode byte 0xbb in position 2: invalid start byte

encoding='utf8' >> encoding 속성값을 euc-kr , cp049 등으로 바꾸어 보자

20210807 : windows cmd 창으로 vim을 열어서 작성된 정규식 코드중 askii코드가 아닌 문자들이 깨지면서 발생한다. 문서 상단에 # -*- encoding=utf-8 -*-을 해보앗으나 소용없었다. .vimrc set encoding=utf-8 도 소용없었다.

문제는 cmd자체의 입력 방식이 문제인듯하다. 오류가 나는 부분만 notepad나  사용하는 IDE를 이용해 유니코드로 작성 해주니 해결 되었다. 물론 cmd 창에서 해당 문서를 다시 열어보면 깨져 보이지만 실행 해보면 UnidoceDecodeError 없이 잘 작동된다

20210824 : .vimrc(_vimrc)에

               set: tenc=korea

                set enc=utf-8 을 추가해준다

               cmd칭에서 chcp 65001 하면 utf-8 로 인코딩해서 보여준다

               cmd창을 열 때마다 자동으로 utf-8로 인코딩 되기를 원한다면 

               regedit를 실행하여

               HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor\Autorun 

               값을 chcp 65001 로 세팅. AutoRun 항목이 없다면 문자열 추가해준다

Command Processor AutoRun

문제의 코드

 

Python - Starting guide [from install to hello world] Using Anaconda

Python - Starting guide [from install to hello world] python읗 이용하는 방법은 크게 두가지로 나뉜다 1. 운영체제에 직접 설치 (비추천) 2. 가상환경읗 이용한 설치 ( 추천: 글자는 가상환경을 이용해서 진..

booolean.tistory.com

 

FileNotFound Error

file이 없거나 경로를 잘못 지정해서 발생하는 에러이다

현재 파일에서 절대경로를 구한후 상위(부모)폴더로 거슬러 올라가서 불러올 파일이 있는 경로를 새로 생성해서 지정해준다.

python3 os package 사용법 바로가기

python3 pathlib package 사용법 바로가기

## read csv file  csv 파일 읽어오기

from pathlib import Path as path

import os

 

mypath = os.path.dirname(os.path.abspath(__file__))

print(mypath)

mypath = path(mypath)

mypath.parent

kospi_path = os.path.join(mypath.parent, 'sources\Kospi1.csv')

kospi_path = path(kospi_path)

print(kospi_path)

DF = pd.read_csv(kospi_path, encoding='cp949')

print(DF)

 

 

 

 

 

댓글