Engineering/Python 7

Python 가상 환경 설정

파이썬 개발을 하려고 하는 상황마다 다르게 파이썬 버전이나 특정 라이브러리를 유지하려고 할때, 가상환경을 사용할 수 있다. $ pip install virtualenv$ virtualenv [가상환경 적용할 디렉토리명]$ app-env\Scripts\activate 아래 예제에서는 lecture 라는 디렉토리에서 ch7 이라는 가상 환경 디렉토리를 생성했다.  이미 존재하고 있던 ch7 이라는 디렉토리에 가상 환경을 적용하면 하위에 Include/, Lib/, Scripts/, pyvenv.cfg 의 디렉토리, 파일들이 추가된다. Scripts\activate 를 실행하고 나서, 앱 개발에 필요한 라이브러리들을 인스톨하면 Lib\site-packages 로 파일들이 추가되는 것을 볼 수 있다. virtu..

Engineering/Python 2024.08.06

driver.get(link) AttributeError: 'NoneType' object has no attribute 'get' 해결

> py app.py Message: unknown error: cannot connect to chrome at 127.0.0.1:59019 from chrome not reachable Stacktrace: GetHandleVerifier [0x011437C3+48947] (No symbol) [0x010D8551] (No symbol) [0x00FDC7F0] (No symbol) [0x00FD1011] (No symbol) [0x00FFEDB7] (No symbol) [0x00FF95E1] (No symbol) [0x00FF9447] (No symbol) [0x0102B840] (No symbol) [0x0102B3CC] (No symbol) [0x01024E86] (No symbol) [0x010..

Engineering/Python 2023.11.13

UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc0 in position 4: invalid start byte 해결

D:\download>certutil -hashfile python-3.10.11-amd64.exe SHA1의 python-3.10.11-amd64.exe 해시: bd8b24ec02138327f70f6a3179f6991cfc007a6f CertUtil: -hashfile 명령이 성공적으로 완료되었습니다. D:\download> Windows 내 명령어인 certutil.exe 의 결과값 중에서 해시값을 이용할 일이 있어서 python 코드를 작성해 보았다. import os import sys import subprocess filepath = 'python-3.10.11-amd64.exe' cmd = 'certutil.exe -hashfile ' command = cmd + filepath result..

Engineering/Python 2023.11.10

'ChromeOptions' object has no attribute 'headless' 해결

> py app.py 'ChromeOptions' object has no attribute 'headless' Traceback (most recent call last): File "D:\MyWork\python\app.py", line 32, in driver.get(link) AttributeError: 'NoneType' object has no attribute 'get' 사용 버전 > pip list selenium 4.15.2 undetected-chromedriver 3.5.3 undetected-chromedriver 패키지를 사용한 프로그램을 실행하려고 하니깐 headless 속성이 없다고 나온다. selenium 4.13 부터 headless 가 지원이 안된다고 한다. (https:..

Engineering/Python 2023.11.08

undetected_chromedriver ModuleNotFoundError distutils 해결

Python 최신버전 3.12.0 을 설치하고 undetected_chromedriver 패키지를 사용한 예제를 실행을 하니, "ModuleNotFoundError distutils" 에러가 계속 나온다. 원인을 찾아보니 undetected_chromedriver 가 python 3.12.0 을 지원을 안하고 3.10.X 부터 지원한다는 것이다.https://github.com/max32002/tixcraft_bot/issues/104 cli() File "/Applications/MaxBot.app/Conten..." data-og-host="github.com" data-og-source-url="https://github.com/max32002/tixcraft_bot/issues/104" data-..

Engineering/Python 2023.11.07

Python JWT 토큰 생성 및 검증

PyJWT 패키지 이용해서 JWT 토큰을 생성하고 검증및 파싱하는 예제.pip install pyjwtpip install cryptography # RSA, ESCDA 를 위해 필요 서명 알고리즘은 ES256 을 사용.import jwt#private_key = open('es256-private-key.txt').read()private_key = """-----BEGIN PRIVATE KEY-----MEECAQAwEwYHKoZIzj0CAQYIKoZIzj0DAQcEJzAlAgEBBCDiQhSHFsb3puIYG4lfJsCRgb1RlA0t2U41X+ph0YvAUw==-----END PRIVATE KEY-----"""print(private_key)# token = jwt.encode({"so..

Engineering/Python 2021.05.06

입력커맨드에서 파일이름인자를 입력받고, 특정문자열뒤에다가 추가하는 python 예제

어디서 봤던 것인지 모르겠지만, 파일이름같은것을 입력받으면 다른 문자열뒤에다가 추가시켜주는 python 스크립트이다. 아래 예제를 보면 금방 이해할 듯. $ python spli.py Enter the file ex) comm.php, head.php...# aa, bb bb ['/var/www/aa', '/var/www/bb'] 소스 시작 #! /usr/bin/python applyfile=[] home='/var/www' file=raw_input("Enter the file ex) comm.php, head.php...# ") data_list = file.split(',') print data_list[1] for fs in file.split(','): filename=fs.strip() if ..

Engineering/Python 2010.06.09