ANACONDA 그만두었습니다 Mac에 Python 개발 환경 구축 pyenv와 pyenv-virtualenv의 인스톨

ANACONDA 그만두었습니다 Mac에 Python 개발 환경 구축 pyenv와 pyenv-virtualenv의 인스톨

2022-10-03 last update

6 minutes reading 개발 환경 pyenv Mac pyenv-virtualenv 파이썬

ANACONDA 그만두었습니다 Mac에 Python 개발 환경 구축 pyenv와 pyenv-virtualenv의 인스톨



목적



Python 개발 환경의 작업 메모로 기재.
ANACONDA의 라이센스가 바뀌어 당분간은 문제 없지만 ANACONDA를 사용하지 않는 Python의 로컬 개발 환경으로 이행해 보았습니다.
Python의 개발 환경으로는 pyenv와 pyenv-virtualenv를 이용하여 python 버전이 전환 가능하게 만드는 방법을 선택했습니다.
pyenv와 pyenv-virtualenv의 설치는 쉽기 때문에 homebrew를 사용합니다.

Mac 환경



OS : Mac OS Big Sur(11.1)
Xcode : App Store에서 설치하지 않음

설치



homebrew 업데이트


[email protected] ~ % brew update
Updated 2 taps (homebrew/core and homebrew/cask).
==> New Formulae
acl2                       grpcui                     ocaml-zarith
act                        gtkmm4                     oci-cli
aerc                       [email protected]                    odin
aida-header                gulp-cli                   oha
airshare                   h2spec                     omake

省略

iphoney                                  yandexradio
java                                     yourkit-java-profiler
jeromelebel-mongohub                     zoom-in
jing                                     zoomus-outlook-plugin
kekadefaultapp

pyenv 설치


[email protected] ~ % brew install pyenv
Error: 
  homebrew-core is a shallow clone.
  homebrew-cask is a shallow clone.

省略

==> readline
readline is keg-only, which means it was not symlinked into /usr/local,
because macOS provides BSD libedit.

For compilers to find readline you may need to set:
  export LDFLAGS="-L/usr/local/opt/readline/lib"
  export CPPFLAGS="-I/usr/local/opt/readline/include"

For pkg-config to find readline you may need to set:
  export PKG_CONFIG_PATH="/usr/local/opt/readline/lib/pkgconfig"

pyenv-virtualenv 설치


[email protected] ~ % brew install pyenv-virtualenv

Error: Your CLT does not support macOS 11.
It is either outdated or was modified.
Please update your CLT or delete it if no updates are available.
Update them from Software Update in System Preferences or run:
  softwareupdate --all --install --force

If that doesn't show you an update run:
  sudo rm -rf /Library/Developer/CommandLineTools
  sudo xcode-select --install

Alternatively, manually download them from:
  https://developer.apple.com/download/more/.

Error: An exception occurred within a child process:
  SystemExit: exit

pyenv-virtualenv를 설치하려고했지만 오류가 발생했습니다.
[email protected] ~ % softwareupdate --all --install --force

  sudo rm -rf /Library/Developer/CommandLineTools
  sudo xcode-select --install

[email protected] ~ % sudo rm -rf /Library/Developer/CommandLineTools
Password:
[email protected] ~ % sudo xcode-select --install

省略


재시도 pyenv-virtualenv 설치
[email protected] ~ % brew install pyenv-virtualenv
Error: 
  homebrew-core is a shallow clone.
  homebrew-cask is a shallow clone.
To `brew update`, first run:

省略

==> ./install.sh
==> Caveats
To enable auto-activation add to your profile:
  if which pyenv-virtualenv-init > /dev/null; then eval "$(pyenv virtualenv-init -)"; fi
==> Summary
🍺  /usr/local/Cellar/pyenv-virtualenv/1.1.5: 22 files, 65.6KB, built in 5 seconds

pyenv 설정
[email protected] ~ % echo 'export PYENV_ROOT="${HOME}/.pyenv"' >> ~/.zprofile
[email protected] ~ % echo 'export PATH="${PYENV_ROOT}/bin:$PATH"' >> ~/.zprofile
[email protected] ~ % echo 'eval "$(pyenv init -)"' >> ~/.zprofile 
[email protected] ~ % echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.zprofile 

pyenv 환경 설정



사용 가능한 버전 확인
[email protected] ~ % pyenv install --list      
Available versions:
  2.1.3
  2.2.3
  2.3.7
  2.4.0

省略

Python 3.9.1 및 2.7.18 설치



파이썬 3.9.1
[email protected] ~ % pyenv install 3.9.1  
python-build: use [email protected] from homebrew
python-build: use readline from homebrew
Downloading Python-3.9.1.tar.xz...
-> https://www.python.org/ftp/python/3.9.1/Python-3.9.1.tar.xz
Installing Python-3.9.1...
python-build: use readline from homebrew
python-build: use zlib from xcode sdk
Installed Python-3.9.1 to /Users/taguchi/.pyenv/versions/3.9.1

파이썬 2.7.18
[email protected] ~ % pyenv install 2.7.18 
python-build: use openssl from homebrew
python-build: use readline from homebrew
Downloading Python-2.7.18.tar.xz...
-> https://www.python.org/ftp/python/2.7.18/Python-2.7.18.tar.xz
Installing Python-2.7.18...
python-build: use readline from homebrew
python-build: use zlib from xcode sdk
Installed Python-2.7.18 to /Users/taguchi/.pyenv/versions/2.7.18

파이썬 버전 전환 방법



개발 디렉토리마다 사용하는 Python 버전 변경 (local 명령)



사용법
cd <開発用ディレクトリ>
pyenv local <この開発用ディレクトリで利用するPythonのバージョン>

실행 예
기본값은 Python 2.7.16이지만 개발 디렉토리 py2에서 사용하는 Python 버전을 2.7.18로 변경합니다.
[email protected] ~ % cd ~/test/py2
[email protected] py2 % python --version
Python 2.7.16
[email protected] py2 % pyenv local 2.7.18
[email protected] py2 % python --version
Python 2.7.18

파이썬 --version의 표시가 변하지 않을 때
1) 자주 있는 다른 디렉토리로 이동한 후 다시 돌아와 로그아웃하고 다시 로그인한 후 다시 확인해 보세요.
2) .zprofile 또는/etc/paths에서/usr/local/bin 경로가/usr/bin보다 우선하는지 확인하십시오.

시스템 전체에서 사용하는 Python 버전 변경(global 명령)


pyenv global <システム全体で利用するPythonのバージョン>

실행 예
기본값은 Python 2.7.16이지만 시스템 전체에서 사용하는 Python 버전을 3.9.1로 변경합니다.
[email protected] ~ % python --version
Python 2.7.16
[email protected] ~ % pyenv global 3.9.1
[email protected] ~ % python --version
Python 3.9.1

pyenv-virtualenv 환경 설정



pyenv-virtualenv를 사용하면 개발 환경을 구분할 수 있습니다.
도서관 등이 다를 때 편리합니다.
나는 여러 가지 시도하고 싶다면 pyenv-virtualenv, 개발 환경의 구성이 복잡하거나 개발 환경을 공유하는 경우 Docker (로컬 PC 또는 클라우드) 또는 VirtualBox (로컬 PC)와 구분합니다.

사용법
pyenv virtualenv <利用するPythonのバージョン> <Python開発環境の名前、自分でわかるように付ける>

실행 예
Python 버전 2.7.18의 개발 환경 GANtest1을 만드는 개발 디렉토리는 ~/test/GANtest1
[email protected] ~ % mkdir ~/test/GANtest1
[email protected] ~ % cd ~/test/GANtest1
[email protected] GANtest1 % pyenv virtualenv 2.7.18 GANtest1
[email protected] GANtest1 % pyenv local GANtest1
[email protected] GANtest1 % python --version
Python 2.7.18

작성한 개발 환경이 더 이상 필요하지 않으면 아래에서 지울 수 있습니다.
사용법
pyenv uninstall <Python開発環境の名前>

실행 예
[email protected] ~ % pyenv uninstall GANtest1
[email protected] ~ % rm -r ~/test/GANtest1