여러 python 버전을 쉽게 설치하고 관리하는 pyenv

이미지
여러 파이선 버전을 쉽게 설치하고 관리할 수 있도록 도와주는 도구에는 pyenv, conda 등이 있습니다. 이번 포스트에서는 pyenv에 대해서 알아보겠습니다. pyenv는 다양한 파이썬 버전(CPython, Anaconda, PyPy, 등)을 설치 지원하고 프로젝트 간의 종속성 충돌을 효과적으로 방지해 줍니다. 소스 코드를 빌드하는 방식으로 설치되기 때문에 시간이 걸리기는 하지만 아주 훌륭한 툴입니다. 제가 추천해 드리는 운영 방식은 pyenv를 통해 여러 버전의 파이썬을 설치 및 관리하고, 특정 프로젝트 디렉토리에 원하는 파이썬 버전을 지정한 후 venv(Python 표준 라이브러리)을 사용해서 가상 환경을 관리 하는 것을 추천합니다. 구체적인 방법은 마지막에 설명하겠습니다. pyenv 설치는 ubuntu 환경을 기준으로 설명합니다. 1. pyenv 의존성 패키지 설치하기 파이썬 버전을 설치하기 위해 build 하는 과정에서 발생할 수 있는 의존성 문제를 방지하기 위해 필요한 패키지들을 설치 합니다. $ sudo apt update $ sudo apt install -y make build-essential libssl-dev zlib1g-dev libbz2-dev \ libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev \ xz-utils tk-dev libffi-dev liblzma-dev python3-openssl git 2. pyenv 설치 $ curl https://pyenv.run | bash 3. virtualenv 설치(option) git clone https://github.com/yyuu/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv 4. shell 설정 사용하고 있는 쉘의 종류에 따라 .zshrc 혹은 .bashrc 파

Python Basics - 2. Variables, expressions, and statements

이미지
이번 챕터에서는 프로그래밍의 기본 요소인 변수, 표현식, 명령문에 대해 자세히 배워보겠습니다. 먼저 변수는 데이터를 저장하는 공간으로, 다양한 유형의 값을 저장할 수 있습니다. 표현식은 값을 생성하는 코드 조각으로, 변수와 상수, 연산자를 결합하여 만들어집니다. 명령문은 특정 작업을 수행하는 코드로, 조건문, 반복문 등을 포함합니다. 이 챕터를 통해 이들 개념을 간단히 이해하고, 직접 코드를 작성해보며 실습해보는 기회를 가지세요. 이론과 실습을 병행하여 학습하면 더욱 효과적일 것입니다. (1) Variables and types 다음 중 정수를 찾으세요. 정수가 아닌 것들은 왜 정수가 아닌지 얘기해보세요. a) 1.2 b) 3.141592 c) 193 d) ‘193’ e) “193” 정답: c) 다음 중 문자열(string)을 찾으세요. a) [This is a string] b) {This is a string} c) “This is a string” d) ‘This is a string’ e) “ ” f) ‘ ’ 정답: c), d), e), f) 타입 확인하는 방법? # shell 환경에서 실행해 보세요. ~ / Python$ python Python 3.10 . 13 ( main , Aug 24 2023 , 12 : 59 : 26 ) [ GCC 13.2 . 0 ] on linux Type "help" , "copyright" , "credits" or "license" for more information . >> > a = 1 >> > b = "help" >> > type ( a ) , type ( b ) ( < class 'int' > , < class 'str' > ) 객체

Python Basics - 0. 초기 환경 준비

이미지
 Python Basics 강좌에 오신 것을 환영합니다! 본 강좌를 시작하기 전에 Python 개발 환경을 준비하는 방법을 안내하겠습니다. 단 시간에 바로 시작할 수 있도록 온라인 툴을 사용해서 진행하려고 합니다. 아래 내용 참고해서 준비하시면 됩니다. 1. replit.com 가입 (1) "Sign up" 클릭 (2) "Continue with Google" 클릭 (3) 계정 선택 (4) "계속" 선택 (5) Start building with a template에서 "Python" 선택 (6) Template 이름 설정 후 "Use Template" 클릭 2. replit.com  간단 사용법 (1) 파일 관리 영역 새로운 파일 혹은 폴더를 생성/삭제할 수 있는 영역입니다. 파일을 업로드 하거나 다운로드 할 수도 있습니다. (2) 툴 관리 영역 개발시 활용할 수 있는 툴을 선택하는 메뉴입니다. 주로 “Pakages” 툴을 사용할 예정입니다. (3) 코딩 영역 개발을 위한 작업 영역입니다. 개발에 도움이 되는 여러 기능을 사용할 수 있습니다. Syntax Highlighting, 함수/메서드 표시, 등 (4) 실행 버튼 작성한 코드를 실행하는 버튼입니다. (5) 실행 결과 출력 콘솔 4번 버튼을 클릭했을 경우 결과가 표시되는 콘솔 영역입니다. (6) Shell command를 실행할 수있는 영역입니다. interactive mode(대화식 모드)에 진입할 수 있습니다. 아래와 같이 python 명령을 실행하면 됩니다. 3. main.py와 shell(interactive mode, 대화식 모드)의 차이점 (1) 실행 방식의 차이 Interactive Mode(대화형 모드): Python 인터프리터를 실행하고 코드를 한 줄씩 입력하면서 즉시 결과를 확인할 수 있습니다. 이 방식은 실험적인 코드 작성이나 단순한 테스트를 할 때 유용합니다. 파일로 작

Python Basics - 1. 왜 프로그래밍을 하려고 하시나요?

이미지
프로그래밍은 매우 창의적이고 보람있는 활동입니다. 그리고 다양한 이유로 프로그램을 작성합니다. 여러분은 어떤 이유로 프로그래밍을 하려고 하시나요? 프로그래머가 되려면 두 가지 기술이 필요합니다. 첫째, 프로그래밍 언어를 알아야 합니다. a. 어휘(키워드)와 문법을 알아야 합니다. b. 이 새로운 언어로 단어의 철자를 올바르게 쓸 수 있어야 합니다. c. 이 새로운 언어 안에서 올바른 형식의 문장을 구성하는 방법을 알아야 합니다. 둘째, 스토리를 말할 수 있어야 합니다. a. 스토리를 쓸 때 단어와 문장을 결합하여 독자에게 아이디어를 전달할 수 있어야 합니다. b. 스토리 작성 기술은 글쓰기를 하고 피드백을 받음으로써 향상됩니다. c. 프로그래밍에서 우리 프로그램은 스토리 이고 여러분이 해결하려는 문제는 아이디어 입니다. 사람의 언어와 달리 python 어휘는 매우 적습니다. 우리는 이 어휘 를 예약어 혹은 키워드 라고 부릅니다. 이 예약어는 python에서 특별한 의미를 갖는 단어입니다. python의 예약어는 변수 이름으로 사용할 수 없습니다. 연습문제 (1) 다음 프로그램은 무엇을 출력할까요? x = 43 x = x + 1 print ( x ) a ) 43 b ) 44 c ) x + 1 d ) x = x + 1 은 수학적으로 불가능하기 때문에 오류가 발생합니다 .

awxcli 간단 사용법 examples

이미지
awxcli 간단 사용법 examples awxcli 의 간단한 사용법에 대해서 알아보겠습니다. 설치하는 방법과 설정에 대해서 알고 싶으신 분은 아래 링크를 클릭해 주세요. 인증서 관련 오류가 발생한다면 꼭 읽어 보세요. https://www.bigadmin.org/2024/05/awxcli-aws-cli.html 1. awxcli 간단 사용법 1.1 Output Formatting 기본적으로 awxcli 는 성공한 명령에 대해 JSON 형식으로 출력합니다. -f 플래그(또는 --conf.format)를 사용하여 대체 출력 형식을 지정할 수 있습니다. $ awx jobs list -f json # default $ awx jobs list -f yaml $ awx jobs list -f jq $ awx jobs list -f human # 짧게 jobs 리스트들의 id, name 값만 출력 id name == == == == == == == == == == == = 30 Demo_Job_Template 32 Demo_Job_Template 34 Demo_Job_Template 36 Demo_Job_Template 46 test_os_info 47 test_os_info 48 test_os_info 1.2 Human-Readable 포맷 지정 awxcli 는 사람이 읽기 편한 ASCII 테이블 형식으로 결과를 출력할 수 있는 기능도 지원합니다. 이게 없으면 눈돌아가게 json 스트링을 읽어야 합니다. ㅠ,.ㅜ $ awx jobs list -f human $ awx jobs list -f human --filter name,created,status name created status == == == == == == == == == == = == == == == == == ==

awxcli 설치 방법(aws cli 아님)

이미지
awxcli는 AWX의 REST API를 간편하게 사용할 수 있도록 도와주는 도구입니다. Ansible AWX를 운영중이라면 awxcli와 함께 사용해 환상의 조합을 경험하실 수 있습니다. AWX CLI를 사용하면 AWX의 자원(resources)을 생성, 수정, 삭제하거나, 작업 (jobs)을 실행하고 모니터링할 수 있습니다. awxcli의 설치 방법은 다음과 같습니다. 1. awxcli 설치하기 awxcli 는 python3이 설치되어 있다면, pip 명령을 통해 설치할 수 있습니다. 다음 명령을 실행해서 awx 명령어를 설치하세요. $ pip install --user https://releases.ansible.com/ansible-tower/cli/ansible-tower-cli-latest.tar.gz 위 명령으로 설치 시도했을 때 아래와 같은 에러가 발생될 수 있습니다. ERROR: Can not perform a '--user' install. User site-packages are not visible in this virtualenv. 이것은 python 가상환경(virtualenv)에서 --user 옵션을 사용하여 패키지를 설치하려고 했을 때 발생합니다. 가상 환경은 독립적인 python 환경을 제공하기 때문에, --user 옵션을 사용하여 전역 사용자 디렉토리에 설치하는 것은 허용되지 않습니다. 가상환경에서 설치 하려면 --user 옵션을 빼고 설치 하면 되고, 전역으로 설치 하려면 가상환경을 detach 하신 후 --user 옵션과 함께 설치 하면 됩니다. # python 가상환경(virtualenv)에서 설치 하는 경우 $ pip install https://releases.ansible.com/ansible-tower/cli/ansible-tower-cli-latest.tar.gz $ which awx /home/dk/study/awxcli

Ansible AWX(17.1.0) 설치하기 on Ubuntu

이미지
안녕하세요. 이번 글에서는 도커 환경에서 Ansible AWX를 설치 해 보겠습니다. AWX 17.1.0 까지는 Docker 기반으로 설치 하지만, 18.0.0 버전 이상은 K8s 기반으로 변경되었습니다. K8s를 구축할 정도의 인프라가 없다면 Docker로 설치 하는 것이 최선일 겁니다. 설명할 명령들을 순서대로 실행하시면 큰 문제 없이 설치가 가능할 겁니다. 1. AWX가 뭐에요? AWX는 Ansible Tower의 오픈소스 버전입니다. Ansible을 사용해서 IT 자동화를 쉽게 구현하고 모니터링할 수 있는 웹 기반 UI 및 REST API를 제공하는 아주 훌륭한 솔루션이지요. Ansible은 시스템 설정, 애플리케이션 배포, 프로비저닝 등을 자동화 하는 도구이며, AWX는 이를 더욱 편리하게 활용할 수 있게 도와줍니다. AWX의 주요 기능은 다음과 같습니다. 사용자 친화적인 인터페이스 : 명령어를 일일이 입력하지 않고, 웹 UI를 통해 손쉽게 플레이북을 실행하고 관리할 수 있습니다. 워크플로우 : 복잡한 작업을 여러 단계로 나누어 자동화할 수 있으며, 각 단계별로 조건을 설정해 유연하게 작업을 처리할 수 있습니다. 스케줄링 : 정해진 시간에 자동으로 작업이 실행되도록 예약할 수 있습니다. 모니터링 및 로깅 : 실행된 작업의 로그를 쉽게 확인하고, 실시간으로 모니터링할 수 있어 문제 발생 시 빠르게 대응할 수 있습니다. 역할 기반 접근 제어 : 사용자마다 접근 권한을 다르게 설정할 수 있어 보안성을 높입니다. 이런 기능들 덕분에 AWX는 IT 인프라를 효율적으로 관리하고, 반복적인 작업을 자동화 하는 데 큰 도움이 됩니다. IT 운영팀은 AWX를 통해 더 적은 시간과 노력으로 시스템을 관리하고, 더 중요한 업무에 집중할 수 있습니다. 2. 필수 프로그램 설치 2.1 필요 컴포넌트 설치 다음 명령으로 필요한 컴포넌트들을 설치합니다. $ sudo apt-get install -y apt-transport-https

Git 기초 사용법(이정도는 익혀두자!)

이미지
요즘 대중적으로 널리 쓰이고 있는 Git은 대부분의 개발자라면 능숙하게 사용할 수 있을 뿐만 아니라 많은 기업에서도 Git을 선택해서 사용하고 있습니다. Git은 소스코드의 버전(히스토리)을 편리하게 관리할 수 있도록 도와줍니다. 기본적인 Git 사용법에 대해서 배워보고 향후 Github에 대해서 학습하신다면 개발 협업에 많은 도움을 받으실 수 있습니다. 이 글에서는 터미널에서 Git을 활용하는 내용 위주로 설명합니다. 1. git 이란 무엇인가요? git은 소프트웨어 개발에서 소스 코드 관리를 위해 사용되는 분산 버전 관리 시스템(Distributed Version Control System, DVCS)을 말합니다. 여기서 말하는 분산(Distributed)은 버전관리 메인 서버 뿐만 아니라 개발자의 컴퓨터에도 소스코드의 모든 히스토리 정보가 저장되어 있어 온/오프라인 상관없이 어디서든 독립적으로 작업을 진행하고 병합(merge)을 통해 통합할 수 있다는 것을 뜻합니다. 이는 여러 사람이 동시에 개발에 참여하여 각자의 작업 내용이 충돌하지 않도록 관리해 주는 역할도 합니다. git의 핵심 주요 기능은 다음과 같습니다. git의 주요 기능 버전관리 : 파일 변화를 시간에 따라 기록해서, 특정 시점의 버전을 다시 불러오거나 변경 내용을 비교할 수 있습니다. 분산 개발 : 로컬 컴퓨터에서 전체 코드베이스의 복사본(리포지토리)을 가지고 작업하므로 인터넷 연결 없이도 개발을 계속할 수 있습니다. 협업 : 다수의 개발자가 동일한 프로젝트에 기여할 수 있으며, 각자의 변경 사항을 쉽게 통합할 수 있습니다. 2. git 설치 윈도우의 경우 cmder 을 설치 합니다. cmder에는 git이 내정되어 있어 별도 설치가 필요 없습니다. 그리고 git 공식사이트의 download 메뉴에서 OS게 설치 파일을 다운받거나 명령을 실행해서 설치 할 수 있습니다. 설치가 되었다면 아래 명령으로 git의 버전을 확인 해 보세요. $ git --versio