내일부터 입사인데 코로나 덕분인지 때문인지 첫날부터 재택근무를 하게 되었다.
업무 및 개발에 필요한 맥북 프로를 회사가 친히 배송까지 해 주었기 때문에 또 setup을 해야 한다.
딱히 대단한 건 아니지만 나중에 또 setup할 나를 위해 써 두는 글이다.
먼저 Xcode
이다.
Mac에서 혹은 IOS나 AppleTV에서 소프트웨어 개발을 하고 release를 하는데 필요한 툴이다.
에디터, 디버깅, 컴파일 등등을 수행한다고 한다.
자세한 내용은 잘 모르겠지만 Quora에 많으니 참고하면 된다.
https://www.quora.com/What-is-Xcode-and-why-do-I-need-it
https://www.quora.com/Do-I-need-Xcode-for-Python
나는 딱히 맥북을 위한 소프트웨어를 개발하거나 그걸 AppStore에 올리거나 할 생각도 경험도 없지만 brew
로 python3
나 뭐 그런 것들 깔고 pip install
사용하려면 Xcode
를 깔아줘야 한다.
간단히 말해서 command line
으로 뭐 많이 할거면 일단 깔아야 한다.
Xcode
는 Appstore에서만 install할 수 있다.
처음에 맥북 사서 Apple ID 생성할 때 여간 튕긴게 아니라 짜증나서 일부러 Microsoft Outlook계정을 메일로 했었는데 로그인 할 때마다 쾌감을 느끼는거면 내가 변탠가.._?ㅎ
쨌든 얘는 시간이 왕창 걸리니 비밀의 숲
이나 보고 와야겠다.
뭐 그 사이 본인이 갖고 있는 모든 라이브러리나 그런 것들 list up하고 싶으면 개인 맥북 iterms
에다
pip freeze
를 입력하면 pip
으로 install한 모든 것들이 이름==버전
형식으로 출력된다.
한 때는 conda
로 install하기도 했는데(pip
이 에러날 때 conda
는 잘 되는 경우가 있음) oh my zsh!
로 환경을 바꿔주면 하나도 안 먹히니 pip
만 사용하는게 깔끔하다는 것을 알았다.
Xcode
install이 끝나면 brew
를 install한다.
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
python3
을 install한다.
brew install python3
Anaconda3
를 install한다.
Anaconda3
는 일단 Anaconda에서 python3.7
이상을 위한 파일을 다운받아서 sudo
로 install해야 하는데 command not found
가 뜨니 permission을 755
로 변경해야 한다.
sudo chmod 755 ./[file_name.sh]
sudo ./[file_name.sh]
Anaconda3
를 설치해도(~/anaconda3이 생겨도) conda 커맨드를 쓰지 못할 수도 있다. 그럴 땐 아래 커맨드로 해결한다.
난 zsh를 사용하니까 zshrc에 추가하는거지만 bash를 쓰면 bashrc에 추가하면 된다.
$ echo "source ~/anaconda3/etc/profile.d/conda.sh" >> ~/.zshrc
$ source .zshrc
ipython
, beautifulsoup
, scipy
, tqdm
, nltk
, numpy
등 유용한 많은 라이브러리들이 같이 설치된다.
이제 Anaconda3
와 같이 깔리지 않는 여러 라이브러리들을 깔아준다.
나는 Anaconda3
와 같이 깔리는 라이브러리들 외에 아래의 라이브러리들을 install 해 놓는다.
aku
allennlp
awscli
aws-xray-sdk
boto3
botocore
datashape
gensim
sklearn
spacy
tensorboard
torch
torchtext
그냥 pip install [library_name]
을 사용하지는 않고 python3 -m pip install [library_name]
을 사용해서 install을 진행한다.
자세한 이유는 모르겠지만 이게 에러가 덜 난다.
위에 적은 라이브러리 중에서 aku
는 생소할텐데 당연하다.
우리 연구실 박사 선배가 만든거니까ㅋㅋㅋㅋ
https://github.com/speedcell4/aku
근데 써보면 진짜 편하다는 것을 알 수 있다(물론 아직 버그가 좀 있고 env
를 내 맛대로 고쳐서 사용해야 하는 경우는 있다. 연구해야되서 바쁘니까 업글을 잘 못하는 것 같다. 그리고 아마 본인 실험 편하자고 한거라 그 이상 안하는 것일 수도 있다).
모델 구축해서 서버에서 실험 진행할 때 argparse를 사용하지 않고 aku에 resister만 하면(github 보면 설명 있음) 알아서 받아준다.
물론 실험 돌리는 모듈의 입력값의 데이터형을 알려줘야한다.
그래도 뭐 이건 익숙해지면 코드도 깔끔해지고 에러도 덜 나니 좋은 습관이다.
게다가 실험 다 돌리고 얻은 결과물을 알아서 정리해서 std
와 함께 평균값까지 내준다.
이건 진짜 석사논문 쓰기 직전에 실험에 치일 때 완전 도움 됐다.
대신 아직 None
타입은 지정할 수 없고 이건 aku2
나오면 업글 하겠다고 했는데 aku2
가 업글이 안된닼ㅋㅋㅋ
회사에서도 대학원 연구 때 같이 딥러닝 모델 구축해서 실험 막 돌리고 하는건 하지 않을 것 같아 별 사용은 안 할것 같지만 언젠가 쓸 때는 또 편리할테니까 일단 받아 놓을란다.
'command line 노트' 카테고리의 다른 글
이미 push 한 commit 을 되돌리기 (0) | 2020.07.23 |
---|---|
갑자기 터미널에서 git 권한이 없다며 push에 실패할 때 (0) | 2020.05.06 |
iterms2에서 push 완료 상태를 확인하고 새 branch 만들고 변경하기 (0) | 2020.04.05 |
iterms2에서 repository clone해서 commit, push까지 연습하기 (1) | 2020.04.05 |
git에 push할 때 dyld: Library not loaded가 뜬다면 (0) | 2020.02.17 |