본문 바로가기
반응형

PROGRAMMING/Python39

[PYTHON] 프로젝트 의존성 관리하기: pip freeze vs pipreqs 안녕하세요, HELLO Python 프로젝트를 진행하면서, 프로젝트 의존성 관리는 중요한 부분 중 하나입니다. 의존성 관리를 통해 프로젝트의 재현성을 보장하고, 팀원 간 혹은 배포 환경 간에 동일한 개발 환경을 유지할 수 있습니다. 이 글에서는 pip freeze와 pipreqs를 사용한 의존성 관리 방법을 정리하고자 합니다. STEP 1. 'pip freeze > requirements.txt' 사용법 STEP 2. 'pipreqs' 사용법 STEP 1. 'pip freeze > requirements.txt' 설명 pip freeze 는 현재 환경에 설치된 모든 패키지와 그 버전을 리스트업 하는 명령어입니다. 이 정보를 requirements.txt 파일로 리디렉션함으로써, 나중에 동일한 환경을 쉽게.. 2024. 4. 7.
[PYTHON] pip 설치 시 quiet로 로그 정리: Silent Installation 가이드 안녕하세요, HELLO Python 프로젝트를 진행하면서 다양한 외부 라이브러리의 도움을 받는 것은 흔한 일입니다. 이런 라이브러리들을 관리하기 위해 requirements.txt 파일에 의존하는 경우가 많은데요, 이 파일에 필요한 라이브러리와 그 버전을 목록화해 두면, 프로젝트를 다른 환경으로 옮겼을 때나 다른 사람이 작업을 이어갈 때 유용하게 사용할 수 있습니다. 하지만, 때로는 라이브러리들을 설치할 때 화면에 출력되는 메시지들이 번거로울 수 있습니다. pip의 --quiet 옵션을 사용하면, 설치 과정에서 발생하는 메시지들을 최소화할 수 있습니다. STEP 1. 'Silent Installation' 개념 프로그래밍 프로젝트, 특히 Python을 사용하는 프로젝트에서는 다양한 외부 라이브러리가 필수.. 2024. 4. 6.
[PYTHON] Conda Install 시 발생하는 PackagesNotFoundError 해결 방법 안녕하세요, HELLO Conda를 사용하다 보면 가끔 다음과 같은 에러 메시지를 만날 수 있습니다. 에러 메시지: PackagesNotFoundError: The following packages are not available from current channels: 이는 conda install 명령어를 통해 패키지를 다운로드하려는데 해당 패키지가 선택한 채널에 존재하지 않을 때 발생하는 오류입니다. 이 문제를 해결하기 위해 몇 가지 간단한 방법을 소개하겠습니다. STEP 1. 'conda-forge'로 해결하기 STEP 2. '추가적인 방법' 해결하기 STEP 1. 'conda-forge'로 해결하기 1. 에러 원인 이해하기 가장 먼저 이 에러가 발생하는 이유를 이해해야 합니다. conda는 기본.. 2023. 12. 16.
[Pytorch] 딥러닝 실험 재현을 위해 난수 제어 (Deterministic, Benchmark, random seed) 안녕하세요, HELLO PyTorch에서 완벽한 실험 재현을 위해 고려해야 할 무작위성(randomness)를 올바르게 제어하는 방법에 대해 설명하겠습니다. 먼저, PyTorch의 난수 생성과 관련된 기능들은 난수 발생기(Random Number Generator, RNG)를 사용합니다. 이 난수 발생기에는 random seed를 설정할 수 있으며, 이를 통해 매번 동일한 순서로 난수를 생성할 수 있습니다. PyTorch에서는 난수와 관련된 여러 구성 요소가 있기 때문에, 각 구성 요소가 무엇을 의미하는지 살펴보고, 각각의 randomness를 제어하기 위한 방법에 대해 살펴보겠습니다. 각 코드에 대한 설명은 아래에서 자세히 다뤄보겠습니다. import torch import numpy as np imp.. 2023. 11. 25.
[PYTHON] dotenv로 환경변수 '.env' 파일 관리, 정리, 설명 안녕하세요, HELLO 오늘은 파일 위치, 조건, 계정 아이디, 비밀번호 등 환경 변수(Environment variable)에 대한 설정을 내부 파일이 아닌, 외부 파일에 저장하고 이를 활용하는 방법에 대해서 살펴보고자 합니다. 이번에는 파이썬 dotenv 모듈을 사용해 '.env' 파일에 값을 저장하고 이를 불러오는 방법에 대해서 알아보겠습니다. STEP 1. '환경변수 (Environment Variable)' 개념 STEP 2. 'Python-dotenv' 사용법 STEP 1. '환경변수 (Environment Variable)' 개념 환경변수(environment variable)는 컴퓨터가 사용하는 동적 (고정적이지 않은)인 변수를 의미합니다. 환경변수는 프로세스를 동작시키는 데 사용하는 변수.. 2023. 5. 16.
[PYTHON] 클래스(class), init 개념, 정리, 설명 안녕하세요, HELLO 파이썬에서 클래스(class)는 데이터와 이를 처리하는 메서드(함수)로 구성됩니다. 이번에는 python의 클래스(class)에 대해서 자세히 살펴보고자 합니다 STEP 1. '클래스(class, init' 개념 STEP 2. '클래스(class) init' 설명 STEP 1. '클래스(class)' 개념 클래스에 대해서 많이 사용되는 은유는 '과자 틀'과 '과자 틀로 만든 과자'입니다. 과자 틀 → 클래스 (class) 과자 틀에 의해서 만들어진 과자 → 객체 (object) 여기에서 설명할 클래스는 과자 틀과 비슷합니다. 클래스(class)란 똑같은 무엇인가를 계속해서 만들어 낼 수 있는 설계 도면이고(과자 틀), 객체(object)란 클래스로 만든 피조물(과자 틀을 사용해 만.. 2023. 3. 5.
[PYTHON] parse_args error 에러 원인 및 해결 방법 안녕하세요, HELLO 딥러닝 모델을 만들면서 argparse 라이브러리에서 ArgumentPaser 함수로 parser에 add_argument를 통해 인수를 정의할 경우, parse_args()로 저장할 때 에러가 발생할 수 있습니다. 오늘은 parse_args error 해결 방안과 이에 대한 원인에 대해서 확인해 보려고 합니다. STEP 1. 'parse_args error' 해결 방법 STEP 2. 에러가 발생한 이유 및 해결 방안 STEP 1. 'parse_args error' 해결 방법 ''' SET PARAMETERS ''' parser = argparse.ArgumentParser(description='CRAFT Text Detection') parser.add_argument('--t.. 2023. 3. 2.
[PYTHON] eval 함수, exec 함수 개념, 정리, 설명 안녕하세요, HELLO 오늘 Python에서 eval() 함수와 exec() 함수에 대하여 알아보겠습니다. 두 함수는 모두 파이썬의 내장 함수이며, 문자열로 표현된 파이썬 코드를 실행할 때 사용합니다. STEP 1. 'eval function' 설명 STEP 2. 'exec function' 설명 STEP 1. 'eval function' 설명 문자열로 표현된 파이썬 식을 인수로 받아 파이썬 컴파일 코드로 변환합니다. 이를 통해 파이썬 인터프리터가 번역하여 실행할 수 있습니다. result = eval('2 + 2') print(result) # Output: 4 변수를 적용하여 계산할 수도 있습니다. x = 10 y = 5 result = eval('x + y') print(result) # Outpu.. 2023. 2. 21.
[PYTHON] string 공백 제거, 없애기 (replace, split, strip, re sub) 안녕하세요, HELLO 오늘은 파이썬을 활용하여, string 데이터에서 공백을 제거하는 방법에 대해서 정리하려고 합니다. 파이썬에서는 대표적으로 replace, split 그리고 re 라이브러리를 활용해서 삭제할 수 있습니다. STEP 1. string 공백 제거, 없애기 ■ Replace 함수 사용하여 공백 제거하기 string = " hello world " string = string.replace(" ", "") print(string) # Output: "helloworld" ■ split 함수와 join 함수 사용하여 공백 제거하기 string = " hello world " string = "".join(string.split()) print(string) # Output: "hellowo.. 2023. 2. 15.
반응형