본문 바로가기
728x90

개발/Python9

[Python] pip install 종속성 오류 해결 명렁어 Collecting gruut>=2.4.0 (from gruut[de,es,fr]>=2.4.0->coqui-tts==0.24.2->coqui-tts[languages]==0.24.2->-r requirements.txt (line 5))   Using cached gruut-2.4.0.tar.gz (85 kB)   Preparing metadata (setup.py) ... done Collecting einops>=0.6.0 (from coqui-tts==0.24.2->coqui-tts[languages]==0.24.2->-r requirements.txt (line 5))   Using cached einops-0.8.0-py3-none-any.whl.metadata (12 kB) INFO: pip .. 2025. 1. 5.
[Python] @wraps 설명 @wraps는 Python에서 표준 라이브러리의 functools 모듈에 포함된 데코레이터입니다. 주로 데코레이터를 만들 때 사용되며, 원본 함수의 메타데이터(예: 함수명, 문서화 문자열 등)를 데코레이터로 감싸진 함수에 복사하는 역할을 합니다.@wraps의 사용 이유데코레이터를 사용할 때, 원래 함수의 이름이나 문서 문자열(__name__, __doc__ 등)이 덮어씌워지는 문제가 발생할 수 있습니다. 이를 방지하고, 원래 함수의 메타데이터를 유지하기 위해 @wraps를 사용합니다.예시: @wraps 사용from functools import wraps def my_decorator(func):     @wraps(func)     def wrapper(*args, **kwargs):         p.. 2024. 9. 2.
[Python] @classmethod vs getter, setter 사용 Python에서 @classmethod 데코레이터를 사용하는 이유와 일반적인 getter와 setter 메소드를 사용하는 것의 차이를 알아보겠습니다.@classmethod@classmethod 데코레이터는 메소드가 클래스의 인스턴스가 아닌 클래스 자체에 속하도록 지정합니다. 이 메소드는 클래스의 인스턴스를 생성하지 않고도 호출할 수 있으며, 첫 번째 파라미터로 클래스 객체인 cls를 자동으로 받습니다. 이는 클래스 변수를 수정하거나 클래스 수준에서 데이터를 처리할 때 유용합니다.예를 들어, 코드에서 get_flag와 increment_flag 메소드는 __flag라는 클래스 변수에 접근하고 수정합니다. 이 메소드들은 클래스 레벨에서 작동하기 때문에 인스턴스의 상태와 독립적으로 동작합니다.class MyC.. 2024. 7. 4.
Python - 내가 만든 모듈, 다른 사람들이 사용하도록 패키징하기 1. setup.py 를 내 작업공간에 만든다 2. 프로젝트의 메타데이터(이름, 버전 등)을 아래와 같이 작성한다. (패키징 작업) from setuptools import find_namespace_packages, setup setup( name='test', version='3.2.1', description='Test', author='SungJun', author_email='xxxxx@naver.com', url='깃허브주소', #파일들이 존재하는 깃허브 주소 packages=find_namespace_packages(where='src', include=['SungJun*']), package_dir={'': 'src'}, install_requires=[ 'numpy', 'pandas', .. 2024. 3. 15.
Python 정적 메소드(@staticmethod) Python에서 Class에 담겨있는 함수를, 인스턴스 생성 없이 생성하는 방법이 있다. @staticmethod - 클래스의 인스턴스를 생성하지 않고 메서드에 접근 가능 - 메서드 내부에서 클래스 변수나 인스턴스 변수에 접근하지 않는다. 즉, 'self'나 'cls' 매개변수를 매서드에서 사용하지 않음 - 클래스나 인스턴스의 상태와 독립적인 기능을 수행하는 함수 내부에 정의할 때 사용 사용예제 class MathUtility: @staticmethod def add(a, b): return a + b @staticmethod def multiply(a, b): return a * b # 클래스 인스턴스를 생성하지 않고 메서드 호출 result_add = MathUtility.add(5, 3) resul.. 2024. 3. 14.
파이썬 EXE 파일 만들기 PyInstaller 설치 우선 명령프롬프트에서 아래의 명령어를 통해 PyInstaller 패키지를 설치합니다. pip install pyinstaller 실행파일 만들기 Python 파일이 있는 폴더로 이동한 다음, 아래 명령어를 입력하면 해당 폴더에 실행파일이 만들어집니다. pyinstaller qtextbrowser_advanced.py 만들어진 폴더에서 dist로 이동해서, 한 번 더 들어가면 아래 그림과 같이 실행파일을 찾을 수 있습니다. 더블클릭해서 실행을 해보면 아래 그림과 같이 콘솔창이 함께 출력됩니다. 콘솔창 출력되지 않도록 하기 콘솔창이 출력되지 않게 하려면 아래와 같이 명령어에 '-w' 또는 '--windowed'를 추가해줍니다. pyinstaller -w qtextbrowser_ad.. 2023. 12. 31.
728x90