micromamba 는 mamba의 소규모 버전으로 독립적 실행 파일이다. 다만 mamba 와 micromamba는 환경 구성이 좀 다르다. micromamba는 mamba와 다르게 MAMBA_ROOT_PREFIX 환경 변수를 기준으로 패키지 관리가 시작되고 환경이 생성된다.
Linux, macOS, or Git Bash on Windows install with:
1
"${SHELL}" <(curl -L micro.mamba.pm/install.sh)
Windows 에서 설치
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
PS> Invoke-Expression ((Invoke-WebRequest-Uri https://micro.mamba.pm/install.ps1).Content) Downloading micromamba from https://github.com/mamba-org/micromamba-releases/releases/latest/download/micromamba-win-64 % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 00000000--:--:----:--:----:--:--0 00000000--:--:----:--:----:--:--0 1009280k 1009280k 003355k 00:00:020:00:02--:--:--10.8M
Installing micromamba to C:\Users\student\AppData\Local\micromamba
Adding C:\Users\student\AppData\Local\micromamba\micromamba.exe to PATH
Do you want to initialize micromamba for the shell activate command? (Y/n): y Enter the path to the micromamba prefix (default: C:\Users\student\micromamba): Initializing micromamba in C:\Users\student\micromamba C:\Users\student\AppData\Local\micromamba\micromamba.exe The following argument was not expected: -p Run with --helpfor more information.
Update
1
PS> micromamba self-update
특정 버전으로 업데이트도 가능하다.
1
PS> micromamba self-update--version1.4.6
micromamba 도움말.
1
PS> micromamba --help
2. micromamba 사용
micromamba의 가상환경은 micromamba activate /path/to/env 같이 활성화 시키는데, MAMBA_ROOT_PREFIX 환경변수를 기준으로 micromamba activate env 같이 사용할 수 있다.
현재 사용할 수 있는 환경을 출력.
1 2 3 4 5
PS> micromamba env list Name Active Path -------------------------------------------------------------- base C:\Users\student\micromamba C:\Users\student\miniconda3\envs\myenv
micromamba 명령으로 대부분의 conda 명령을 동일하게 실행할 수 있다.
1 2 3 4 5 6 7 8 9 10
micromamba info # 현재 micromamba 환경정보
# 설치한 패키지 목록 micromamba list ananconda # Anaconda 정보 micromamba list python # python 패키지 정보
# 설치 가능한 모든 python 패키지 목록 $ micromamba repoquery search python
# 설치 가능한 python=버전 패키지 목록 $ micromamba repoquery search "python>=3.11"
# 설치 가능한 jupyterlab 버전 패키지 목록 $ micromamba repoquery search "jupyterlab>=4.0"
# 현재 환경의 jupyterlab 에 연관된 의존성 패키지 목록 $ micromamba repoquery depends jupyterlab
# 현재 환경의 jupyterlab 에 연관된 모든 의존성 세부 목록 $ micromamba repoquery depends jupyterlab --recursive
패키지 연관 의존성을 트리형식으로 출력할 수 있다.
1 2 3 4 5 6 7 8
# 현재 환경의 jupyterlab 에 연관된 의존성 패키지의 트리 목록 $ micromamba repoquery depends -t jupyterlab jupyterlab[4.3.4] ├─ jupyter-lsp[2.2.0] │ ├─ python already visited │ └─ jupyter_server[2.15.0] │ ├─ python already visited
And you can ask for the inverse, which packages depend on some other package (e.g. ipython) using whoneeds.
1 2 3 4 5 6 7 8
$ micromamba repoquery whoneeds ipython
Name Version Build Depends Channel ------------------------------------------------------------------- jupyter_console 6.4.3 pyhd3eb1b0_0 ipython pkgs/main ipykernel 6.9.1 py39haa95532_0 ipython >=7.23.1 pkgs/main ipywidgets 7.6.5 pyhd3eb1b0_1 ipython >=4.0.0 pkgs/main With the -t,--tree flag, you can get the same information in a tree.
micromamba가 설치된 디렉토리를 찾습니다. 일반적으로 C:\Users<사용자 이름>.local\bin 또는 C:\micromamba에 설치됩니다. 해당 디렉토리를 삭제합니다.
환경 변수에서 micromamba 경로 제거:
Windows 검색 창에서 “환경 변수”를 검색하고 “시스템 환경 변수 편집”을 엽니다. “시스템 속성” 창에서 “환경 변수” 버튼을 클릭합니다. “시스템 변수” 섹션에서 “Path” 변수를 선택하고 “편집” 버튼을 클릭합니다. micromamba가 설치된 디렉토리 경로가 있는지 확인하고, 있다면 해당 경로를 삭제합니다. “확인” 버튼을 클릭하여 변경 사항을 저장합니다.
micromamba 관련 파일 삭제:
C:\Users<사용자 이름>.condarc 파일을 삭제합니다. (존재하는 경우) C:\Users<사용자 이름>.mambarc 파일을 삭제합니다. (존재하는 경우)
회사 등에서 방화벽을 사용하는 경우 pip / conda 저장소에서 패키지 설치가 안되는 경우가 있다. 또한 방화벽 안에서 설치할 경우 SSL verification error 에러 발생으로 설치가 안되기도 한다. 이런 경우 직접 pip 혹은 conda 설치가 안되는 경우에 프락시 지정을 해서 사용이 가능하다.
$ pyenv versions system 3.8.1 * anaconda3-5.3.1 (set by /Users/qkboo/.pyenv/version)
일반적으로 Anaconda 만을 사용한다면 설치후 사용자 쉘 환경에서 conda 를 사용하기 위해서 환경변수를 초기화 해야 하는데 다음 명령으로 실행한다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
$ conda init bash no change /Users/qkboo/.pyenv/versions/anaconda3-5.3.1/condabin/conda no change /Users/qkboo/.pyenv/versions/anaconda3-5.3.1/bin/conda no change /Users/qkboo/.pyenv/versions/anaconda3-5.3.1/bin/conda-env no change /Users/qkboo/.pyenv/versions/anaconda3-5.3.1/bin/activate no change /Users/qkboo/.pyenv/versions/anaconda3-5.3.1/bin/deactivate no change /Users/qkboo/.pyenv/versions/anaconda3-5.3.1/etc/profile.d/conda.sh no change /Users/qkboo/.pyenv/versions/anaconda3-5.3.1/etc/fish/conf.d/conda.fish no change /Users/qkboo/.pyenv/versions/anaconda3-5.3.1/shell/condabin/Conda.psm1 no change /Users/qkboo/.pyenv/versions/anaconda3-5.3.1/shell/condabin/conda-hook.ps1 no change /Users/qkboo/.pyenv/versions/anaconda3-5.3.1/lib/python3.7/site-packages/xontrib/conda.xsh no change /Users/qkboo/.pyenv/versions/anaconda3-5.3.1/etc/profile.d/conda.csh modified /Users/qkboo/.bash_profile
==> For changes to take effect, close and re-open your current shell. <==
위 명령은 아래 환경 변수가 작용해서 conda 의 가상환경을 다루는 쉘 스크립을 실행해 준다.
보통 conda init 를 해주면 쉘 스크립의 마지막 위치에 삽입된다. 그러므로 .bash_profile 에 있는 pyenv 초기화가 항상 마지막에 실행되도록 하자.
1
pyenv 와 anaconda 환경의 전환 정리
Examples of managing virtual environments.
1 2 3 4 5 6
# virtual environments from pyenv pyenv install 3.6.9 pyenv virtualenv 3.6.9 new-env pyenv activate new-env pyenv deactive # You can also use `pyenv local`
1 2 3 4 5
# virtual environments from conda conda create -n new-env python=3.6 conda env list conda activate new-env conda deactivate
1
1
anaconda 패키지와 환경관리를 할 수 있는 conda 명령어 몇가지를 소개
1 2 3 4 5 6 7 8 9 10 11
// 아나콘다의 버전 확인 conda --version
// 아나콘다 버전 업데이트 conda update conda
// 설치된 패키지 리스트 conda list
// conda 통해 설치 가능한 패키지 검색 conda search "tensorflow"
conda에서 개발 준비하기
Anaconda 설치가 완료되면 conda 명령으로 TensorFlow를 사용할 환경을 구성하고 사용해 보자.
conda 툴을 사용하는 anaconda, miniconda 가 혼재된 환경에서 pyenv로 가상환경을 즉시 활성화 시키면 conda 명령 실행에 혼선을 일으킨다. 예를 들어 위의 가상환경 anaconda3-5.3.1/envs/opencv4 을 pyenv로 활성화 하고 python, conda 명령을 실행해 보면
1 2 3 4 5
~$ pyenv shell opencv4 ~$ pyenv version opencv4 (set by PYENV_VERSION environment variable) ~$ which python /Users/qkboo/.pyenv/shims/python
가상환경의 python 위치를 확인해 보고, conda 명령을 찾아 보자,
1 2 3 4 5 6 7 8 9
~$ pyenv which python /Users/qkboo/.pyenv/versions/opencv4/bin/python $ pyenv which conda pyenv: conda: command not found
The `conda' command exists in these Python versions: anaconda3-5.3.1 miniconda3-latest
pyenv 환경 아래 2개의 conda 때문에 혼선이 나타난다.
예를 들어 현재 쉘 환경에서 파이썬 환경 ananconda3-5.3.1 을 사용하도록 하고, conda 를 확인해 보면 명확하게 해당 파이썬 환경의 anaconda 의 가상환경을 가르키지만! conda env 명령의 결과는 다르게 나타낸다. anaconda 뒤에 minicond를 설치해서 miniconda 가상환경이 우선으로 나타난다.
1 2 3 4 5 6 7 8 9 10 11 12
~$ pyenv shell anaconda3-5.3.1 ~$ pyenv which conda /Users/qkboo/.pyenv/versions/anaconda3-5.3.1/bin/conda ~$ conda env list # conda environments: # base * /Users/qkboo/.pyenv/versions/miniconda3-latest deep_learning /Users/qkboo/.pyenv/versions/miniconda3-latest/envs/deep_learning django3 /Users/qkboo/.pyenv/versions/miniconda3-latest/envs/django3 tf24_cpu /Users/qkboo/.pyenv/versions/miniconda3-latest/envs/tf24_cpu tf2_p37 /Users/qkboo/.pyenv/versions/miniconda3-latest/envs/tf2_p37 tkinter /Users/qkboo/.pyenv/versions/miniconda3-latest/envs/tkinter
그래서 가상환경 활성화시 가상환경 디렉토리를 지정해서 사용하자!
그래서 anaconda 와 miniconda 환경을 활성화 시키려면 shell, local, system 명령을 통해 설치된 파이썬 환경을 활성화 하고, 해당 파이썬 환경에서 가상환경을 다루는 것이 좋다.
예를 들어 현재 쉘 환경에서 파이썬 환경 ananconda3-5.3.1 을 사용하도록 실제 가상환경 위치를 지정해서 활성화 한다.