본문 바로가기
300x250

개발&코딩/Python28

파이썬 Module Import 에러 해결법 관련 작업환경 : VS Code lastes version, Python 3.11.x 해당 에러는 패키지 내에 존재하지 않는 모듈을 임포트 해올때 발생합니다. ImportError : attempted relative import with no known parent package - 상대경로 임포트 에러 ModuleNotFoundError: No module named - 모듈 존재하지 않음 먼저 모듈과 패키지는 비슷해보이지만 다른 개념입니다. 모듈은 .py 단위의 필요한 정보를 담은 파일이고 패키지는 이 모듈들을 묶는 단위라고 보는게 무방합니다. 파이썬 구버전에서는 패키지 파일임을 인식하도록 __init__.py의 초기화 파일이 명시되었어야 하지만 최신버전의 파이썬에서는 그렇지 않습니다. 1. 불러올 패키.. 2023. 5. 31.
설치된 python 모듈 pip를 통해 한번에 업데이트하고 관리하기 pip(Python Package Index) 파이썬으로 작성된 패키지 소프트웨어를 관리하는 패키지 관리 시스템 작업환경 : Visual Studio Code 작업 버전 : Python 3.10.8, pip 20.3 설치된 모듈들의 버전 확인과 최신화에 대한 기능이 부족하여 알아보게 되었습니다. 이전에 flask에 app.post()라는 새로운 라우트 함수를 사용할 수 있다는데 이게 flask 2.2버전 이상부터 사용 가능하다고 합니다. 그런데 어찌된게 제 환경에서 flask 모듈이 1.x 버전대 이상으로는 설치가 안되더라고요 그 과정 중에 알게 된 내용입니다. pip 관리법 pip list # pip를 제외한 설치된 모듈 리스트 pip freeze # pip를 포함한 설치된 모듈 리스트 pip를 통해 .. 2022. 11. 2.
파이썬 플라스크 jinja2.exceptions.TemplateNotFound 에러 이슈 해결법 작업 환경 : Visual Studio Code 버전 : Python 3.10 해당 jinja2 에러는 주로 파이썬 웹 라이브러리 Flask를 이용할 때 발생하는데 TemplateNotFound 즉 Template를 발견하지 못했다는 에러입니다. Flask 패키지 구성시에는 templates 폴더가 필수적으로 존재해야하며 이 폴더는 템플릿을 보관하여 인식할 수 있도록 하는 Jinja2 문법을 따릅니다. 에러 예시 예시로 구성된 패키지 입니다. 현재 jinja2 문법상 templates 폴더만 인식하지만 template 이름으로 폴더가 구성된 상태로 flask 웹 서버가 실행되면 템플릿을 찾을 수 없다는 에러가 반환됩니다. 플라스크에서 템플릿 폴더를 인식하는 구조입니다. 템플릿 폴더의 이름은 templat.. 2022. 9. 27.
파이썬 SyntaxError: Non-ASCII character '\xec' 에러 이슈 해결법 작업 환경 : Synology NAS에서 구동된 VScode Docker 컨테이너 버전 : Python3.9 # -*- coding: utf-8 -*- 해당 에러는 한글 인코딩 과정에서 발생하는 에러입니다. 저와 같은 경우에는 영어환경에서 배포된 Visual Studio Code 도커 이미지를 컨테이너로 돌려서 사용하고 있었는데 거기서 파이썬 코드를 실행하니 이와 같은 오류가 발생했습니다. 해결법은 아주 간단합니다. 위 주석 코드를 실행할 코드에 삽입해주면 됩니다. 최신 IDE에서는 발생하지 않는 에러이지만 구버전의 개발 환경에서는 이와 같이 수동적인 인코딩 방식 설정이 필요한 듯합니다. 예시로 HTML에서 인코딩 방식을 지정하는 태그입니다. 2022. 9. 25.
파이썬 패키지 설치 및 관리하는법 - pip pip란 pip는 Python용 패키지 설치 프로그램입니다. 파이썬 자체적으로 제공하지 않는 다양한 기능을 가진 패키지(라이브러리) 등을 설치하여 사용할 수 있습니다. pip 사용법 pip pip의 기초 사용 형태는 pip 형태로 이루어집니다. pip 패키지 설치 예시 예시로 파이썬의 pandas 패키지를 설치해보겠습니다. #pandas package 설치 pip intall pandas =install 명령을 통해 패키지를 설치했습니다. pip 모듈 업그레이드 또한 파이썬을 자주 사용하다 보면 패키지 설치가 잘 되지 않거나 pip를 업그레이드하라는 공지를 볼 수 있습니다. 이는 python에 내장된 pip모듈의 버전이 낮으므로 업그레이드하라는 구문입니다. python.exe -m pip install .. 2022. 9. 19.
파이썬 셀레니움 find_element의 InvalidArgumentException, NoSuchElementException 에러 이슈 관련 작업환경 : python 3.10.2 작업 라이브러리 버전 : selenium 4.3.0 일단 InvalidArgumentException 에러는 메서드에 제공된 인수가 유효하지 않을 때 발생하는 에러입니다. 즉 인수를 두개 받아야 하는 메서드에 인수가 하나만 지정되었거나 유효하지 않은 인수가 지정되었을 때 발생합니다. NoSuchElementException 에러는 유효하지 않은(존재하지 않는) 요청을 받았을때 발생하는 에러입니다. 요즘 크롤링 공부를 해볼까 해서 인프런에서 크롤링 관련 인강을 듣는데 더보기 코드 from asyncore import write from flask import Flask, render_template, request import requests from bs4 impor.. 2022. 9. 13.
파이썬 셀레니움 find_element_by_class_name 삭제이슈관련 및 대체방법 작업 날짜 : 2022-08-31 작업환경 : python 3.10.2 작업 라이브러리 버전 : selenium 4.3.0 @app.route('/test_page') def test_page(): driver = webdriver.Chrome('./chromedriver') driver.implicitly_wait(3) driver.get("https://test_link.com") soup = BeautifulSoup(driver.page_source, 'html.parser') driver.find_element_by_class_name("_productSet_hotdeal").click() ... 파이썬 셀레늄을 통한 크롤링을 웹 라이브러리인 플라스크를 통해 구현하던 중 어찌 된 영문인지 find.. 2022. 8. 31.
파이썬의 __init__() 의 역할 // python __init__(), constructor 객체지향언어인 파이썬은 객체지향프로그래밍을 하며(OOP) Class 기반의 모델을 기반으로 코딩을 할 수 있습니다. 파이썬에서 보여지는 기초적인 클래스의 형태는 이러합니다. class Human(): ''' Human information ''' def __init__(self, name, age, tall): #생성자 self._name = name self._age = age self._tall = tall person1 = Human('David', 28, 170) print(person1) # print(person1._name) # person1's name print >> David 클래스 내부의 주석은 개발자간 코드 가독성을 위해 권장한다고 합니다. 클래스의 가장 첫번째는 __init__().. 2022. 6. 30.
파이썬 내장 메소드 dir() 사용법 내장 함수 — Python 3.10.5 문서 내장 함수 파이썬 인터프리터에는 항상 사용할 수 있는 많은 함수와 형이 내장되어 있습니다. 여기에서 알파벳 순으로 나열합니다. abs(x) 숫자의 절댓값을 돌려줍니다. 인자는 정수, 실수 또는 __ docs.python.org 파이썬 공식 문서를 살펴봤는데 가독성 실화..? 공식 문서 보고 공부하기는 글렀구먼,, 그래서 제가 다시 정리합니다. 내장 함수 - dir() dir()은 내장 함수이며 () 내의 객체가 가진 변수와 메서드를 전부 보여줍니다. a=10 print(dir(a)) 정수형 변수 a를 dir()에 넣어 실행해보면 a가 가진 온갖 변수와 메서드가 나열됩니다. a의 type은 int class입니다. print(type(a)) 이렇듯 내장 함수 d.. 2022. 6. 16.
파이썬 버전별 출력법 + 기초적으로 숙지(제곱값, enumerate, range, 오버플로우) 목차1. 파이썬 버전별 출력법 2. Python3 이후 정수형 3. 파이썬에서 제곱값 구하기 4.enumerate()와 range()1.파이썬 버전별 출력법 파이썬의 최신 버전은 현재 3.9.4 버전이며 2 버전에서 3 버전으로 오며 많은게 바뀌었지만 그 중에서도 기초적인 print()의 방식의 차이가 있다. Old School Format(Python 2)#Old version # python 2 버전 지원 str='hello world' print('%s'%(str)) >>> 'hello world'New School Format(Python 2,3)#python 2,3 #New School Format str1='hello' str2='world' print('{} {}'.format(str1, s.. 2021. 4. 18.
300x250