전체 글

일기

2023년 회고록, 2024년은

이번년도에는 원하는 직업이 본격적으로 생겼고, 제 생각보다 짧은 시간에 원하는 일을 이뤘습니다. 이 블로그를 이번년도 초에 개설한 걸로 기억하는데, 이제 일년이 다 되어가네요. 얼마 전쯤에 누적 방문 수가 1만회를 넘은 걸로 알고 있습니다. 뿌듯하기도 하지만, 이제 블로그를 옮기려고 합니다. 제 메모장처럼 작성하는 블로그인데, 마크다운이 지원이 잘 되지 않다보니, 작성할 때 생산성(?)에 문제가 생기는 기분이 들었다랄까요...? 무언가 스터디를 위한 제 메모장에 변화가 필요한 시기가 온 것 같습니다. 2023년 한 해는 크게 두 갈래로 나눌 수 있을 것 같습니다. 제가 데이터엔지니어가 되기 위해서, 학원을 등록하고 프로젝트를 했던 시간과 회사에서 기술로 비즈니스에 기여하게 된 시기입니다. 학원에 있던 시..

개발환경 세팅/파이썬 환경 For Mac

[파이썬 환경 FOR MAC] 13. direnv로 가상환경 자동화하기

사실 하나의 컴퓨터에서 여러 파이썬 프로젝트에 동시에 진행하고 있으면 가상 환경을 매번 활성화하고 비활성화하면, 굉장히 귀찮을 뿐만 아니라 자잘한 실수로 이어질 수 있습니다. direnv를 사용하면 특정 디렉토리와 그 하위 디렉토리 안에서만 파이썬 환경이 활성화되고, 그 디렉토리들을 벗어나면 비활성화되게 설정 할 수 있습니다. 설치 1. direnv 설치 brew install direnv 쉘과 연결 # 파일 열고 vi ~/.zshrc # 이걸 파일 끝에 추가 / 저장하고 닫기 eval "$(direnv hook zsh)" 자동화 # 파일 만들고 touch .envrc # 이걸 파일 내용에 추가 source ./data_science_env/bin/activate # 가상환경 폴더 잘 설정 echo "v..

개발환경 세팅/파이썬 환경 For Mac

[파이썬 환경 FOR MAC] 12. 파이썬 가상환경 공유하기

1. pip freeze pip freeze는 유저가 직접 다운로드한 패키지만 나옵니다. pandas를 위해 pip이 자동으로 설치한 패키지도 포함됩니다. 이걸 requirements.txt라는 파일에 저장할 수 있습니다. pip freeze > requirements.txt 이 때 이 파일을 공유합니다. 2. 가상환경을 공유 받는 입장에서 같은 가상환경을 만들어봅니다. mkdir user_2 cd user_2 mkdir data_science_project virtualenv --python=python3.7 data_science_env 그러면 가상환경의 인터프리터를 사용하고 있는데, requirments.txt를 다운로드 받은 과정에서, requirments.txt 파일들을 그대로 다운로드 받습니다..

개발환경 세팅/파이썬 환경 For Mac

[파이썬 환경 FOR MAC] 11. 파이썬 가상환경

파이썬 환경을 설정할 때 글로벌 환경을 사용하는 건 권장 되지 않습니다. 글로벌 환경을 쓸 수록, 같은 패키지를 공유할 수가 없기 때문에, 어떤 패키지가 특정 프로그램에 사용되었는지 알 수 없습니다. 또한 한 환경에서는 같은 패키지에 대해서 한 버전만 있을 수 있기 때문에, 글로벌 환경에서 패키지 버전을 일일히 바꿔줘야합니다. 가장 이상적인 파이썬 인터프리터와 패키지를 관리하는 것은 프로젝트마다 하나의 분리된 환경을 사용해야합니다. 한 컴퓨터나 시스템에서 프로젝트 단위로 고립시켜서 사용하는 것을 가상 환경입니다. 작동하는 원리는 글로벌 환경과 똑같습니다. 프로젝트마다 인터프리터를 만들고, pip과 site-packages를 만듭니다. 1. virtualenv로 가상환경 만들기 1. 글로벌 환경에 virt..

개발환경 세팅/파이썬 환경 For Mac

[파이썬 환경 FOR MAC] 10. 파이썬 minor 버전 중복 설치

파이썬 공식 홈페이지의 맥 인스톨러를 사용해서 이미 설치한 파이썬 minor 버전의 다른 micro 버전을 다운받으면 새로운 minor 버전을 설치할 때와는 다르게 작동합니다. 예를 들어 파이썬3.7.5 버전을 설치하고 다시 3.7.11 버전을 설치하는 경우를 얘기하는 거죠. 일단 맥 인스톨러를 사용해서 파이썬을 다운받으면 각 마이너 버전마다 하나의 인터프리터만 설치할 수 있습니다. 3.7.5 버전을 쓰고 있다가 3.7.11 버전을 다운받으면 인터프리터 파일만 덮어쓰기 됩니다. 일단 맥 인스톨러를 사용해서 파이썬을 다운받으면 각 마이너 버전마다 하나의 인터프리터만 설치할 수 있습니다. 3.7.5 버전을 쓰고 있다가 3.7.11 버전을 다운받으면 인터프리터 파일만 덮어쓰기 됩니다. 또 다른 점은 PATH ..

개발환경 세팅/파이썬 환경 For Mac

[파이썬 환경 FOR MAC] 9. 파이썬 환경

vi ~/.zprofile 맨 아래로 python 3.8 인터프리터를 옮깁니다(파이썬 3.8을 기본으로 사용하기 위함입니다) 인터프리터가 바뀌면, 따로 설정을 하지 않는 이상 다른 인터프리터를 사용할 때 다운로드 받은 패키지를 사용할 수 없습니다. 전 포스팅에서 다룬 numpy 패키지를 사용할 수 없습니다. 이처럼 인터프리터에 따라 다른 pip3을 사용하고, 패키지 관리도 다른 폴더에서 관리되는 것을 볼 수 있습니다. 버전 디렉토리 별로 각각 하나의 환경을 가집니다.

개발환경 세팅/파이썬 환경 For Mac

[파이썬 환경 FOR MAC] 8. 파이썬 패키지, pip, 인터프리터

1. 파이썬 패키지와 pip 실제 개발에 있어서는 다른 개발자들이 미리 작성해둔 코드를 가져와서 씁니다. 파이썬 standard library가 아닌 외부 패키지는 pip을 통해서 다운로드합니다. pip3 --version pip의 버전을 확인합니다. pip은 항상 최신 버전을 사용하는게 좋습니다. 최신 버전을 쓰지 않으면, 패키지를 다운로드 받을 때 매번 경고 메세지가 출력됩니다. pip3 install --upgrade pip 예시로 넘파이를 설치해보겠습니다. # 원하는 버전의 numpy 설치 pip3 install numpy==1.20.1 # 삭제 pip3 uninstall numpy==1.20.1 # 다운로드된 패키지 확인 pip3 list 2. 파이썬 인터프리터와 pip 기본 디렉토리를 PATH..

개발환경 세팅/파이썬 환경 For Mac

[파이썬 환경 FOR MAC] 7. 기본 파이썬 인터프리터 설정하기

앞선 포스팅의 내용을 참고해주세요! https://dataengineerstudy.tistory.com/278 [파이썬 환경 FOR MAC] 5. 파이썬 버전 1. 파이썬 버전이란? 파이썬 언어와 인터프리터는 한 종류만 있는게 아닙니다. 일단 기본적으로는 python1, python2, python3이 있습니다. 그리고 세부적으로는 아래 버전이 있고, 도 아래 버전이 있습 dataengineerstudy.tistory.com https://dataengineerstudy.tistory.com/279 [파이썬 환경 FOR MAC] 6. 컴퓨터가 파이썬 인터프리터를 찾는 법 python3 hello_world.py PATH : 컴퓨터가 커맨드에 해당하는 프로그램을 검색하는 경로들 PATH 안에 있는 경로를 ..

개발환경 세팅/파이썬 환경 For Mac

[파이썬 환경 FOR MAC] 6. 컴퓨터가 파이썬 인터프리터를 찾는 법

python3 hello_world.py PATH : 컴퓨터가 커맨드에 해당하는 프로그램을 검색하는 경로들 PATH 안에 있는 경로를 왼쪽부터 오른쪽 까지 탐색하고, 앞에서 python3라는 걸 찾으면 바로 적용한다. $echo PATH bin은 binary의 약자로, unix 기반 시스템에서는 인터프리터와 같이 커맨드로 실행 가능한 프로그램들이 저장되는 디렉토리의 이름으로 많이 사용됩니다. PATH에 bin 디렉토리들이 추가 됐기 때문에 커맨드로 인터프리터를 찾을 수 있었습니다. 여기서 가장 왼쪽에 있는 것이 3.8이기 때문에 이 버전을 사용했고, bin에 있는 인터프리터로 찾아 실행된 것. python3.8로 실행시키면 이 프로그램이 이 디렉토리에 있기 때문에 컴퓨터가 찾아서 실행할 수 있었습니다.

개발환경 세팅/파이썬 환경 For Mac

[파이썬 환경 FOR MAC] 5. 파이썬 버전

1. 파이썬 버전이란? 파이썬 언어와 인터프리터는 한 종류만 있는게 아닙니다. 일단 기본적으로는 python1, python2, python3이 있습니다. 그리고 세부적으로는 아래 버전이 있고, 도 아래 버전이 있습니다. 이렇게 서로 다른 종류를 버전이라고 합니다. 이런 것들을 바꿀 때마다 새로운 버전을 출시합니다. 파이썬 버전에서 현재 어떤 것이 문제고, 어떤 걸 고쳐나가는게 좋은 것들은 PEP(Python Enhancement Proposal)에서 제안하고, 파이썬 코어 개발자들이 이를 받아드리거나, 거절합니다. https://www.python.org/dev/peps/ PEP 0 – Index of Python Enhancement Proposals (PEPs) | peps.python.org pe..

개발환경 세팅/파이썬 환경 For Mac

[파이썬 환경 FOR MAC] 4. 파이썬 인터프리터

파이썬 인터프리터 컴퓨터는 0과 1로만 된 코드만 이해합니다. 인간이 0과 1만을 사용해서 코드를 짜기 어렵습니다. 이를 위해 사람들은 프로그래밍 언어를 개발했습니다. 이 프로그래밍 언어 중 하나가 파이썬입니다. 이 파이썬은 코드 자체를 머신 코드로 통역해줍니다. 파이썬 언어로 쓴 문법을 머신 코드로 통역해주면 됩니다. 저희가 파이썬을 사용하는 경우 파이썬 인터프리터를 사용하는 것입니다. 파이썬 언어와 인터프리터를 각각, 그리고 합쳐서 그냥 파이썬이라고 부릅니다. 중요한 건 머신 코드로 바꿔주는 인터프리터가 중요합니다. 아무 문서 편집 도구에서도 파이썬 코드는 쓸 수 있습니다. 파이썬은 코드가 두 줄이 있으면, 위에서 한 줄 씩 머신 코드를 해석하고 실행하고, 그 다음 머신 코드를 해석하고 실행합니다. ..

개발환경 세팅/파이썬 환경 For Mac

[파이썬 환경 FOR MAC] 3. 파이썬 인터렉티브 모드

python3 해당 명령어 입력을 통해 터미널에서 파이썬을 실행시킬 수 있습니다. 이렇게 터미널로 코딩을 할 수도 있습니다. 터미널에 보여진 텍스트를 지우기 위해서는 control + L을 활용합니다. 그저 텍스트만 지울 뿐 변수가 지워진건 아닙니다. 인터랙티브 모드에서 for문 같은 것들을 쓰면 앞이 ...으로 바뀝니다. 이 때 ... 에 원하는 코드들을 쓰고, 엔터를 치면 다음과 같이 실행됩니다. 파이썬 인터랙티브 모드에서는 문법을 틀리는 것을 두려워할 필요 없습니다. 오류가 나오기만 하고, 인터랙티브 모드가 종료되진 않습니다. 프로그램 자체가 종료되진 않고, 정의 해놓은 변수들을 그대로 사용할 수 있습니다. 종료하려면 다음과 같이 합니다. quit() 다시 실행한다고 해도, 전에 저장해둔 변수를 쓸..

우상욱
데이터엔지니어스터디