Programing Language/Python

Programing Language/Python

Selenium과 Pyinstaller를 이용하여 만든 실행파일 뒤에 검은창이 나올 경우 해결 방법

이번에는 selenium과 pyinstaller을 가지고 나온 exe 파일을 실행시켰을 때, cmd창을 끄는 옵션을 추가했음에도 불구하고 cmd창이 뜨는 오류를 해결하는 방법에 대해 알아보고자 합니다. 오류 selenium을 실행하는 파이썬 코드를 pyinstaller을 통해 exe 파일을 만들어 배포하였습니다. 하지만 exe 파일을 실행할 떄 pyinstaller에서 콘솔이 뜨지 않도록 하는 -w 옵션을 넣어 줬음에도 불구하고 뒤에 cmd(흔히 검은창)이 뜨는 현상이 일어났습니다. 혹시 해당 오류에 대해 다루기전에 pyinstaller 실행 방법이나 옵션에 대해 모르신다면 아래 게시글을 참고 하시면 좋을 듯 합니다. 참고 : https://jheaon.tistory.com/131 파이썬 라이브러리 Py..

Programing Language/Python

Pyinstaller을 통해 py 파일을 각 OS에 맞는 실행 파일로 변환

Pyinstaller pyintsaller는 python 애플리케이션과 모든 종속성을 단일 패키지로 묶어서 사용자가 python 인터프리터 또는 모듈을 설치하지 않고 패키지 된 앱을 실행할 수 있도록 도와주는 라이브러리이다. python 3.7 이상부터 지원하며 현재까지 numpy, matplotlib, PyQt.. 등과 같은 많은 주요 python 패키지들 까지도 번들로 잘 제공되고 있다. 주의해야 할 점은, 크로스 플랫폼이 아니라는 점인데, window 기반에서 exe 파일을 만들었다면, window안에서만 돌아가고, window 외의 운영체제인 mac, linux에서는 따로 파일을 만들어 실행하여야 한다. 자세한 부분은 공식문서 보면서 참고하길 바란다. 공식문서 : https://pyinstalle..

Programing Language/Python

Selenium 옵션과 이벤트 처리 코드 모음

해당 게시글은 https://jheaon.tistory.com/127 에서 동적 크롤링 부분에서 설명한 "파이썬을 활용한 업무 자동화" 위키 독스의 내용을 정리한 것이다. 파이썬과 request, bs4, selenium4을 통해 웹 페이지 데이터 크롤링하기 일반적으로 인터넷을 이용하면서 웹에 있는 데이터를 가공하거나 사용해야 하는 경우가 빈번하다. 특히 사이트에서 어떤 가격에 대한 데이터를 받아 엑셀로 저장하여 정리하여야 한다는 가, 여 jheaon.tistory.com 01. selenium 4 [TOC] ## 셀레니움 설치 ```{.python} pip install selenium # pip install selenium-wire # 특정 버전 설치 pip insta… www.wikidocs.ne..

Programing Language/Python

텔레그램 API 사용시 RuntimeWarning: coroutine 'Bot.get_updates' was never awaited 오류 해결방법

에러가 난 상황은요? Python - telegram 연결 도중에 해당 오류가 발생했습니다. 에러 내용을 확인해 보니 코루틴과 await가 있는 것을 보니 비동기 관련 문제인 듯했습니다. 어떻게 해결 하셨죠? 해당 API관련 문서를 ㅊ앚아보니 해당 오류는 2022 말에 telegram bot API update로 asyncio 도입으로 생기는 오류인 것을 확인했습니다. 따라서 예전에 있던 코드를 그대로 사용하고자 하시는 분들은 telemgarm library 이전 버전으로 맞춰서 진행한다면 문제없이 진행할 수 있을 듯 합니다. - python-telegram-bot: v20.0 - asyncio: v3.4.3 만약에 그냥 업데이트된 상태로 코드를 작성하고 싶다면 아래 방법을 참조해주세요 메시지를 보내는 ..

Programing Language/Python

키값이나 환경변수를 관리하기

Python 서버를 개발하거나 API을 활용한 스크립트를 작성하다 보면 중요한 설정값(API키, 알려져선 안 되는 데이터)을 관리하게 된다. 특히 API키나 암호키 같은 경우에 어떠한 처리 없이 Github에 올려버리게 된다면 엄청 큰 피해를 볼 수 있다. 그의 예시로 웹 드라마에서는 AWS키를 담은 코드를 그냥 Github에 올려 관리하게 된 상황을 연출하고 있는데 해당 설정값을 잘못 다루게 된다면 정말 아래와 같은 일이 일어날지 모른다. 참조 : https://www.youtube.com/watch?v=IkMJeO0Sbk4&t=2s 따라서 이런 설정값들을 잘 관리하여야 할 필요성이 있다. 이번에는 이런 설정값들을 어떤 형태로 관리하면 좋을 지에 대해서 설명 하고자 한다. 중요값 관리하기 파이썬에서 중..

Programing Language/Python

컬렉션 객체의 내장 함수 시간 복잡도 모음

요즘 Python이 배우기도 쉽고, 알고리즘 코드를 작성할 때 짧고 생각한 그대로 표현하기에 좋은 언어이기 때문에 코딩테스트에서의 선호도가 점차 증가하고 있는 추세이다. 하지만 코드를 작성할 때, 파이썬 객체의 내장 함수를 사용하면서 해당 함수의 시간 복잡도가 얼마나 걸리는지에 대해서는 잘 알지 못하고 사용하고 있는 부분이 있어 해당 내용을 정리하고자 한다. 아래에 나오는 표는 각 객체에 대하여 내장 함수의 시간 복잡도를 정리한 표이다. 해당 표는 (목적 / 예제 / 시간복잡도 / 기타 사항) 순으로 정리하였다. 파이썬 자료형의 내장 함수 시간 복잡도 정리 List l = list() 로 고려한 다음의 Example이다. Operation Example Big-O Notes Index l[i] O(1) ..

Programing Language/Python

파이썬 파일 실행 할 때 생기는 __pycache__ 파일에 대해 알아보기

파이썬을 이용하여 개발하다 보면 가끔 __pycache__라는 폴더가 생기고, 그 안에 pyc라는 파일들이 생기는 것을 볼 수 있다. 그럼 이. pyc 파일은 무엇이며 어떤 역할을 하는 걸까? __pycache__ 와. pyc 파일 __pycache__ 는 파이썬 스크립트를 실행할 때 생기는 디렉터리이다. 그리고 이 폴더 안에는 파이썬 스크립트의 컴파일된 버전인. pyc 파일들이 포함되어 있다. 파이썬 스크립트가 실행 될 때, 인터프리터는 먼저 __pycache__ 폴더 안에. pyc 파일이 있는지 검사를 하고. pyc 파일이 최신 상태이면 원본 스크립트 대신에. pyc 파일을 먼저 실행한다. 그 이유는 바이트 코드로 되어있는 pyc 파일을 실행하는 것이 py 파일을 해석하는 것보다 훨씬 빠르기 때문이다..

Programing Language/Python

윈도우, 맥에서 가상환경을 구성하고 패키지 매니저 pip와 requirements.txt 로 패키지 관리하기

이번에는 윈도우, 맥 운영체제에 가상환경을 구성하고 패키지 매니저인 pip와 requirements.txt을 이용하여 패키지를 어떻게 관리하는지에 대해서 살펴보자. Python에서 가상환경을 사용하는 이유 우리가 여러 프로젝트를 진행하다 보면, 여러 패키지들을 통해서 코드를 작성하고 버전을 관리하며 진행되는 것을 알 수 있다. 만약 A, B라는 프로젝트가 있고, A, B 프로젝트에는 temp_package라는 패키지를 사용하고 있다고 가정한다. 여기서 문제가 생기는데 "A 프로젝트에는 temp_package 버전이 1.1을 사용하여야 작동하고 B 프로젝트에는 temp_package 버전 3.1 이상을 사용하여야 돌아간다."라는 것이다. 현재 우리는 글로벌 파이썬 환경을 사용하기 떄문에 temp_packa..

Programing Language/Python

typing module (Type annotation and Typehint) 을 통한 가독성 좋은 코드 작성하기

Python은 동적 프로그래밍 언어이기 때문에 코드를 실행하면 해당 변수의 타입을 추론하여 체크한다. 변수의 타입은 정해져 있지 않기 때문에 개발자가 자유롭게 사용할 수 있다는 장점이 있지만, 프로젝트의 규모가 커짐에 따라서 애플리케이션의 안정성에 위험요소가 될 뿐만 아니라 치명적인 버그를 만들 수 있다. 따라서 Python개발자들은 이런 요소를 신경 쓰기 위하여, Python version 3.5에서부터 타입 어노테이션, 타입 힌트를 지원하고 있다. Python Type Hinting 파라미터와 리턴값의 데이터값을 명시적을 지정해 주는 것을 의미한다. 원래는 이런 데이터값을 명시적으로 지정줄 때, 주석을 이용하여 처리를 하였으나, 개발자들에게 번거로웠을뿐더러 일반 주석과 구분이 어려웠기 때문에 좋은 평..

JHeaon
'Programing Language/Python' 카테고리의 글 목록 (2 Page)