본문 바로가기

PYTHON8

VSCode Error - Sorry, something went wrong activating IntelliCode support for Python. Please check the "Python" and "VS IntelliCode" output windows for details. 한동안 Python을 VS Code로 쓰면서 크게 의식하고 있지 않았는데, 오늘은 왠지 모르게 위 오류가 정말 거슬리는 하루 였다. 그래서 한번 위 오류를 해결한 내용을 정리해 본다. 위 오류가 발생하는 원인은 크게 2가지로 고민해 볼 수 있다. 첫째 - Visual Studio IntelliCode 플러그인의 문제 둘째 - Visual Studio Code의 Linting 의 문제 아마 첫번째 플러그인의 문제라면 버전을 바꿔서 설치해보는것이 가장 기본적인 액션 플랜이다. 이후에는 settings.json의 Python 설정을 찾아서 변경해보는 것이 좋다. 위 방식으로도 해결이 되지 않는다면, 두번째 문제에 대한 해결 방안인 Linting을 다시 설치해 보는것이 좋다. Linting은 현재 작성하는 코드.. 2021. 7. 26.
Python - string 문자열 원하는 구분자 기준으로 나누기 오늘은 최근에 특정 문자열 갯수를 넘어가는 글에 대해서 조금 더 이쁘게 잘라 낼 수 있을까에 대한 고민하던 부분중에 개발을 진행한 부분에 대한 내용이다. 고민한 내용은 간단하다. \n 기준으로 문자열을 자르고 싶은데, \n을 기준으로 자르자니 너무 많이 문자열이 잘라지므로 이를 가장 알맞은 길이를 대입하여 자르고 싶었다. 그래서 생각한 규칙은 다음과 같다. 특정 길이 기반으로 문자열을 자른다. 만약 원하는 구분자가 해당 특정 길이 내에 있다면, 특정 길이를 안에 있는 구분자를 이용하여 자른다. 원하는 구분자가 특정 길이에 여러개 있다면 최대한의 크기를 유지 할 수 있었으면 한다. 원하는 구분자가 없는 경우에는 최대 크기로 자른다. 조건은 위 4가지 인데 실제 코드를 작성해 보니 생각보다 고려해야 할 포인.. 2021. 6. 28.
Python - Http Retry 및 while 을 통한 반복문 요즘 REST API 참으로 많이 사용된다. 그런데 HTTP 호출을 사용하다보면, 받아주는 서버가 정상적으로 회신을 주지 않는 경우가 있다. 이러한 경우 어떻게 조치하는게 좋을지 Python에서 제공하는 모듈과 일반적인 방법에 대해서 정리해 본다. 1. while 문 사용 가장 일반적으로 사용되는 방식은 while 문을 이용한 특정 조건이 완료될 때 까지 반복 하는 방법이다. while 문 내에 아래와 같이 1이 나올 때까지 실행하는 방식으로 조건이 완료될 때까지 실행할 수 있다. import random while True: number = random.randint(0,1000) if number == 1: print('Bingo') break else: print(number) 이를 조금 웹 코드에.. 2021. 6. 16.
Python - subprocess, Popen, call차이 그리고 WorkDirectory 변경 Python에서 실행중 추가로 프로그램을 실행해야 하는 경우가 발생할 경우 subprocess 모듈을 이용해서 사용할 수 있다. 아마 이모듈을 사용할 때 가장 많은 찾아보게 되는 부분이 Popen과 Call의 차이 그리고 WorkDirectory 변경일 것 같다. 그럼 핵심만 간단히 정리해 보자. Popen 과 call의 차이점 Popen과 call의 가장 큰 차이점은 바로 결과를 기다릴 수 있는 구조인가 이다. 실제로 call은 Popen을 감싼 구조라고 할 수 있다. 즉 Popen으로 실행한 프로그램을 실행을 기다렸다가, 실행이 완료되었을 때 결과를 받을 수 있는 것이 call인것이다. 따라서 실행 결과를 기다릴 필요가 없다면, Popen을 사용하고, 실행 결과를 대기하였다가 확인해야 하는 경우 ca.. 2021. 5. 24.
Windows/Linux Command line run Exit code Command Line 프로그램을 제작하다보면, 실행 결과가 정상적으로 처리되었는지 확인하여 처리해야 하는 경우가 있다. 이때 유용한 Exit Status에 대해서 배워보도록 하겠다. 윈도우와 리눅스는 모두 콘솔에서 실행을 완료후 종료 코드를 내보내도록 구성되어 있다. 그리고 실행 종료 코드를 특정 변수에 저장한다. Windows의 경우 echo %errorlevel%, 리눅스의 경우 echo $? 에 마지막 실행 코드를 보관 한다. Exit Status가 0인 경우 정상적으로 실행이 완료된 상태를 의미한다. 만약 0 이외의 코드가 있다면 프로그램 실행중 오류가 발생했다는 의미이다. 프로그램 실행 유무 확인 그럼 간단이 윈도우에서 Exit Status를 확인해 보겠다. hostname 명령이 실행되었는지.. 2021. 4. 1.
Django - MySQL/MariaDB 연결하기 대부분의 서비스용도로 사용하다면, 기본적으로 제공하는 파일 기반의 Database인 SQLlite 보다는 MySQL, 혹은 MariaDB를 통해 Database를 사용하는 것이 확장성에 좋기 때문에 MySQL/MariaDB 연결 방법에 대해서 정리해 본다. 1. mysqlclient 설치 가장 먼저 해야 할 일은 MySQLClient를 설치하는 것이다. Visual Studio 기준으로 env 에서 마우스 우클릭을 통해 Manage Python Packages 에서 mysqlclient를 입력하여 설치할 수 있으며, 이는 pip를 통해 설치한 것과 동일하다. pip install mysqlclient 설치가 완료되면, 패키지가 추가된 것을 확인 할 수 있다. 2. DATABASE 설정 변경 Django의.. 2021. 3. 24.
Ansible - install on Mac Mac 테스트용도의 Ansible 구축해서 테스트 용도로 활용하는 방안입니다. Ansible은 Target Host에 Agent가 설치가 필요하지 않아서 손쉽게 사용할 수 있는 장점이 크고, 만약 가능하다면 자신의 맥북을 Ansible 서버로 사용하면서 여러 서버의 설정을 구성하고 조정할 수 있습니다.(기업환경에서는 바람직하지 않겠죠?) 여기에서는 MAC을 이용해서 테스트할 수 있는 환경을 제공해보도록 하겠습니다. 먼저 MAC OS 버전에 따라 설치 환경이 다릅니다. 제가 설치한 환경은 아래와 같습니다. #sw_vers ProductName:Mac OS X ProductVersion:10.14.6 BuildVersion:18G95 버전을 확인하고, 저와 비슷한 버전인 경우 본 설치 가이드대로 설치가 가능.. 2020. 10. 22.
PYTHON pip install fails with “connection error: [SSL: CERTIFICATE_VERIFY_FAILED] If you manage the proxy or SSL certificate separately, the following certificate error may occur. In this case, you can use it by specifying a trusted host in Python’s package installation tool, pip. WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate.. 2020. 10. 6.