今回はMacでpyenvを使用してPythonをインストールする方法をご紹介していきます。
またPythonの環境下にインストールされたパッケージを共有化する方法についても記述しておきます。
pyenvではPythonのバージョンを管理(変更)することができます。
(前提)
macOSのパッケージ管理ツールであるHomebrewをインストールしていること
↑登録はもちろん無料です。私は転職で年収72万UPしました。
pyenvインストール
ターミナルをまずは開きます。
今回はzshシェル下でインストールしていきます。
command $ echo $SHELL
/bin/zsh
pyenvのインストール
command $ brew install pyenv
この時点ではまだPythonはインストールされていません。
以下のコマンドを順に実行し、pyenvの環境設定を行います。
command $ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc
command $ echo 'command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc
command $ echo 'eval "$(pyenv init -)"' >> ~/.zshrc
環境設定を反映させるために以下のコマンドを実行します。
command $ source ~/.zshrc
ここで一度ターミナルを閉じ、再度ターミナルを開き、以下を実行します。
command $ pyenv -v
pyenv 2.3.10
pyenvがインストールされたことが確認できました。
pyenvの良い点は瞬時にPythonをインストールできる点とインストールしたバージョンに切り替えられるところです。これはPythonのバージョンによっては使用できないパッケージなどがあった際にとても便利です。
Pythonインストール
ではこのpyenvを使って、Pythonをインストールしていきます。
まずはインストールできるPythonのバージョンを確認
command $ pyenv install --list
Available versions:
2.1.3
2.2.3
2.3.7
2.4.0
2.4.1
2.4.2
2.4.3
2.4.4
2.4.5
2.4.6
2.5.0
2.5.1
2.5.2
2.5.3
2.5.4
・
・
・
バージョンを指定してPythonをインストール
※今回はバージョン3.10.5
command $ pyenv install 3.10.5
pyenvでインストールしたPythonのバージョンを確認
command $ pyenv versions
* system (set by /Users/key/.pyenv/version)
3.10.5
現在は「system」が選択されているので、これをPython 3.10.5に変更
command $ pyenv global 3.10.5
変更後の確認
command $ pyenv versions
system
* 3.10.5 (set by /key/migita/.pyenv/version)
Pythonのバージョンを確認
command $ python --version
Python 3.10.5
これでPython(バージョン3.10.5)をインストールすることができました。
※インストールした特定のPythonのバージョンをアンインストールする方法
command $ pyenv global system
command $ pyenv uninstall 3.10.5
pyenv: remove /Users/key/.pyenv/versions/3.10.5? [y|N] y
pyenv: 3.10.5 uninstalled
パッケージの共有化(requirements.txt)
最後にPythonでインストールしたパッケージを簡単に共有できる方法について紹介しておきます。これは以下の際に重宝する方法かと思います。
- pyenvで新たにインストールしたPythonのバージョンに別のバージョンでインストールしたパッケージを反映させたい場合
- 他の方とパッケージの環境を同じにしたい場合
現在のPython 3.10.5にインストールされているパッケージ
command $ pip list
Package Version
------------------------------------------------- -----------
anyio 3.6.2
appnope 0.1.3
argon2-cffi 21.3.0
argon2-cffi-bindings 21.2.0
attrs 22.2.0
Babel 2.11.0
backcall 0.2.0
beautifulsoup4 4.11.1
bleach 5.0.1
certifi 2022.12.7
cffi 1.15.1
charset-normalizer 2.1.1
cycler 0.11.0
debugpy 1.6.5
decorator 5.1.1
defusedxml 0.7.1
entrypoints 0.4
fastjsonschema 2.16.2
fonttools 4.38.0
idna 3.4
importlib-metadata 6.0.0
importlib-resources 5.10.2
ipykernel 6.16.2
ipython 7.34.0
ipython-genutils 0.2.0
ipywidgets 8.0.4
jedi 0.18.2
Jinja2 3.1.2
json5 0.9.11
jsonschema 4.17.3
jupyter 1.0.0
jupyter_client 7.4.9
jupyter-console 6.4.4
jupyter_core 4.12.0
jupyter-server 1.23.5
jupyterlab 3.5.3
jupyterlab-pygments 0.2.2
jupyterlab_server 2.19.0
jupyterlab-widgets 3.0.5
kiwisolver 1.4.4
MarkupSafe 2.1.1
matplotlib 3.5.3
nest-asyncio 1.5.6
notebook 6.5.2
notebook_shim 0.2.2
numpy 1.21.6
opencv-python 4.7.0.68
Pillow 9.4.0
pip 23.0
・
・
・
ここでpyenvコマンドを使用して新たにPython 3.11.0のインストールを行いました。インストール時には標準パッケージ以外のパッケージはインストールされていません。
command $ pip list
Package Version
---------- -------
pip 20.2.3
setuptools 49.2.1
Python 3.11.0にPython 3.10.5と同じパッケージを一括してインストールしていきます。
パッケージがすでにインストールされているPythonのバージョンに切り替える
command $ pyenv global 3.10.5
切り替え後、以下を実行(Desktopにいること)
command $ pip freeze > requirements.txt
作成されたrequirements.txtファイルにはPython 3.10.5にインストールされたパッケージ名とそのバージョンが記載されています。
これをパッケージがインストールされていないPython 3.11.0に反映させる。(Desktopにいること)
command $ pyenv global 3.11.0
command $ pip install -r requirements.txt
※インストールするパッケージが多い場合は時間が少しかかります。
Python 3.11.0のパッケージ確認
command $ pip list
Package Version
------------------------------------------------- -----------
anyio 3.6.2
appnope 0.1.3
argon2-cffi 21.3.0
argon2-cffi-bindings 21.2.0
attrs 22.2.0
Babel 2.11.0
backcall 0.2.0
beautifulsoup4 4.11.1
bleach 5.0.1
certifi 2022.12.7
cffi 1.15.1
charset-normalizer 2.1.1
cycler 0.11.0
debugpy 1.6.5
decorator 5.1.1
defusedxml 0.7.1
entrypoints 0.4
fastjsonschema 2.16.2
fonttools 4.38.0
idna 3.4
importlib-metadata 6.0.0
importlib-resources 5.10.2
ipykernel 6.16.2
ipython 7.34.0
ipython-genutils 0.2.0
ipywidgets 8.0.4
jedi 0.18.2
Jinja2 3.1.2
json5 0.9.11
jsonschema 4.17.3
jupyter 1.0.0
jupyter_client 7.4.9
jupyter-console 6.4.4
jupyter_core 4.12.0
jupyter-server 1.23.5
jupyterlab 3.5.3
jupyterlab-pygments 0.2.2
jupyterlab_server 2.19.0
jupyterlab-widgets 3.0.5
kiwisolver 1.4.4
MarkupSafe 2.1.1
matplotlib 3.5.3
nest-asyncio 1.5.6
notebook 6.5.2
notebook_shim 0.2.2
numpy 1.21.6
opencv-python 4.7.0.68
Pillow 9.4.0
pip 23.0
・
・
・
新たにインストールしたPython 3.11.0に必要なパッケージがインストールされました。
※Pythonのバージョンを下げて既存のパッケージをインストールする際はPythonのバージョンによりパッケージのインストールができない場合があるので注意してください。
今回は以上です。
コメント