C.W.K.
Stream
Lesson 05 of 05 · published

conda Wisdom

~10 min · conda, wisdom, production

Level 0초심자
0 XP0/55 lessons0/16 achievements
0/80 XP to next level80 XP to go0% complete

conda 가 이 quest 에서 가장 오해받는 패키지 매니저인 건 non-web-developer 세계에서 자랐기 때문. 이 룰들이 문화적 갭 건넘.

Anaconda 아니라 Miniconda 또는 Miniforge 사용. 전체 Anaconda distribution 이 대부분 사람들 안 만지는 사전 install 된 과학 stuff 3 GB. conda install; 필요한 거 install.

conda-forge 를 디폴트 channel 로. 더 많은 패키지, 더 최신 버전, 상업 라이선싱 string 없음.

프로젝트 당 한 env. venv 와 같은 룰 — 절대 base env 에 install 안 함. conda activate 프로젝트 별; environment.yml 을 repo 에 commit.

공유용 env export 시 --from-history 사용. 디폴트 export 가 다른 플랫폼에서 보통 존재 안 하는 정확한 빌드 hash 핀; --from-history 가 너 의도 (요청한 것만) export, conda 가 타겟 머신에서 다시 resolve.

새 Python 프로젝트엔 pixi 고려. pixi (다음 트랙) 가 conda-forge 호환이지만 10배 빠름, native lock 파일. 평소 conda 손에 잡지만 더 나은 DX 원하는 프로젝트에 'conda done right'.

느린 base env 와 싸우지 마. base env 의 conda update 또는 conda install 이 sluggish 면 그게 expected — base env 누적. 프로젝트 별 env 만들고 base 가벼이.

Code

자동 활성화용 direnv hook·bash
# direnv install
brew install direnv
echo 'eval "$(direnv hook zsh)"' >> ~/.zprofile

# 프로젝트 .envrc 에
echo 'eval "$(conda shell.bash hook)"' > .envrc
echo 'conda activate myenv' >> .envrc
direnv allow

# 프로젝트로 cd, env 자동 활성화.
# 이게 Pippa 가 cwk-pippa env 에 사용하는 거.

External links

Exercise

현재 conda env 목록 ('conda env list'). 각각 적어: 어떤 프로젝트가 사용, 마지막 만진 게 언제. 6개월 이상 + 미사용 → 'conda remove --name X --all'. 디스크 회수; 정비 surface 감소.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.