PYTHON

포스트: 134|아이템:PYTHON(124)
Tags

Posts

134 posts

[Django] populate() isn't reentrant 오류 해결

Django App 을 띄울때 이런 오류가 뜨는 경우가 있다. RuntimeError: populate() isn't reentrant 이때는 여러가지 원인이 있을 수 있는데,대부분 pip 패키지 설치와 관련하여 문제가 생기면 저 에러가 뜬다.일단, 메시지만 봐서는 뭔지 알수가 없다. 제대로된 메시지를 보려면 일단 저 에러를 raise 하는 Django 파일을 임시로 수정해줘야 한다.Error stack 에서 저 Error 를 raise 하는 부분을 클릭하여 찾아가자. 아마도 파일명은 아래와 같을것이다. django/apps/registry.py 여기서 약 80번째 라인 즈음 해서 보이는 아래 코드를raise RuntimeError("populate() isn't reentrant") 이렇게 바

가장 쉬운 출력 방법 [Python]

가장 쉬운 출력 방법 [Python] 파일 내용이 없으면 생성하고 요청받은 문자열을 적는다.파일이 존재하면 마지막 줄 다음에 요청받은 문자열를 적는다.3줄을 추가하고 싶을 경우, 리스트에서 3개 항목을 각각 문자열로 만들어 3개 문자열을 준비한다. list_of_lines = ['First line', 'Second line', 'Third line']append_multiple_lines('target00.txt', list_of_lines) lines_to_append=[]lines_to_append.append(str(trialobj))append_multiple_lines('target00.txt', list_of_lines) 출력할 대상을 문자열 형식으로 리스트로 만든다. 추가하고 싶은 파일

[Python] 디버그 시에만 동작하도록 하는 코드 짜기

지훈현서|2020년 3월 3일

코딩을 하면서 제일 중요한 것은 테스트 입니다. 해당 기능을 UnitTest 모듈을 이용해서 잘 하고 있는데,어느날 어느 경우에 PyCharm의 디버그 모드에서는 잘 동작하는데,setup.py 로 test 시에는 동작을 제대로 안하는 경우가 생겼습니다.원인은 아직 파악하지 못했지만,코드에서 디버그 모드일 때와 그냥 돌렸을 때의 경우에 따라코드를 구분하고 싶어졌습니다. 결론은 다음과 같이 하면 됩니다. ... sg = sys.gettrace() # 디버그는 괜찮지만 실제 build.bat 에서는 오류 발생 때문 if sg is None: # Not in debug mode print('Skip testing at test/build time'

가장 쉬운 변수 공유 (클래스를 활용한 변수 공유) [Python]

가장 쉬운 변수 공유 (클래스를 활용한 변수 공유) [Python] 포트란 77의 common 문 사용과 같이 특정 변수들을 한 곳에 모아 두고 다른 서브루틴들이 특정 무리 변수들을 활용할 수 있게 할 수 있다. 변수들의 종류별로 사용자가 이름을 붙인 common 문을 선언하면 보다 더 구체적인 변수 무리들을 별도로 관리할 수 있다. 또한, 이들 common 문을 별도의 파일 속에 넣고 파일로 저장할 수 있다.특정 변수들이 필요한 경우 그 파일을 include 하는 방식으로 프로그램을 편집할 수 있다. 이렇게 전체 프로그램을 관리할 수 있다. 이렇게 할 경우, 흩어져 있을 수 있는 common 문 변수들이 완전히 동일하게 편집된다.강제적으로 동일한 하나의 내용물이 되게할 수 있다. 즉, 꼭 필요한 서브루틴