自分のキャリアをあれこれ考えながら、Pythonで様々なデータを分析していくブログです

[Mac] Python3.7の仮想環境を作成する

Python
Python
ヒノマルク
ヒノマルク

どうもヒノマルクです。今日は異なるバージョンのPythonをインストールし、異なるバージョンのPythonの仮想環境を作成したいと思います。

automlの調査をしていた時、色々なライブラリを比較していたのですが、
mlboxというautoml用のライブラリはPythonのバージョンが3.5 - 3.7という記載が公式ページにあったのに気づかず、Python3.8で動作確認していたのではまった経験があります。

きちんと公式ページは見ようという教訓になりました。

現在ヒノマルクのPythonはデフォルトでPython3.9が入っています。

新しくPython3.7をインストールし、Python3.7が実行環境の仮想環境を作成しようと思います。

デフォルト環境での仮想環境作成方法は、下記記事をご参照ください。

[Mac] Pythonの仮想環境をvenvで作成する方法
本記事ではpythonの仮想環境を作成するvenvというモジュールの使い方をまとめておきます。ディープラーニング系のPythonのライブラリをインストールするときにありがちなのですが、たまに競合が発生して、例えばあるライブラリAはnumpy...
スポンサーリンク

brewでPython3.7のインストール

インストールできれば何でも良いです。
今回はお手軽にbrewでインストールしてしまいます。

brewでPython3.7をインストールする
$ brew install python@3.7
Out[0]
Updating Homebrew...
==> Auto-updated Homebrew!
・・・省略・・・
You can install Python packages with
  /usr/local/opt/python@3.7/bin/pip3 install 
They will install into the site-package directory
  /usr/local/lib/python3.7/site-packages

See: https://docs.brew.sh/Homebrew-and-Python

python@3.7 is keg-only, which means it was not symlinked into /usr/local,
because this is an alternate version of another formula.

If you need to have python@3.7 first in your PATH, run:
  echo 'export PATH="/usr/local/opt/python@3.7/bin:$PATH"' >> ~/.profile

For compilers to find python@3.7 you may need to set:
  export LDFLAGS="-L/usr/local/opt/python@3.7/lib"

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

==> Summary
🍺  /usr/local/Cellar/python@3.7/3.7.12_1: 9,104 files, 127.7MB, built in 7 minutes 24 seconds
・・・省略・・・
Python has been installed as
  /usr/local/opt/python@3.7/bin/python3

Unversioned symlinks python, python-config, pip etc. pointing to
python3, python3-config, pip3 etc., respectively, have been installed into
  /usr/local/opt/python@3.7/libexec/bin

You can install Python packages with
  /usr/local/opt/python@3.7/bin/pip3 install 
They will install into the site-package directory
  /usr/local/lib/python3.7/site-packages

See: https://docs.brew.sh/Homebrew-and-Python

python@3.7 is keg-only, which means it was not symlinked into /usr/local,
because this is an alternate version of another formula.

If you need to have python@3.7 first in your PATH, run:
  echo 'export PATH="/usr/local/opt/python@3.7/bin:$PATH"' >> ~/.profile

For compilers to find python@3.7 you may need to set:
  export LDFLAGS="-L/usr/local/opt/python@3.7/lib"

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

シンボリックリンクを貼る
ln -s /usr/local/opt/python@3.7/bin/python3.7 /usr/local/bin/python3.7

/usr/local/bin にはパスが通っているので、シンボリックリンクを貼って、python3.7と入力するとbrewでインストールしたpython3.7を参照してくれるようになります。

python3.7で仮想環境を作成する
python3.7 -m venv my-venv3.7

作成されました。

my-venv3.7のPythonのバージョンを確認する
$ /Users/hinomaruc/Desktop/notebooks/my-venv3.7/bin/python3 --version
Out[0]
Python 3.7.12

Python3.7系になっていれば成功です。

pipをアップデートしておく
$ /Users/hinomaruc/Desktop/notebooks/my-venv3.7/bin/python3 -m pip install --upgrade pip
Out[0]
Collecting pip
  Downloading pip-21.3.1-py3-none-any.whl (1.7 MB)
     |████████████████████████████████| 1.7 MB 5.8 MB/s
Installing collected packages: pip
  Attempting uninstall: pip
    Found existing installation: pip 20.1.1
    Uninstalling pip-20.1.1:
      Successfully uninstalled pip-20.1.1
Successfully installed pip-21.3.1

以上です。かなり簡単に異なるPythonのバージョンでも仮想環境を作成できるので、どんどん試していきましょう。

タイトルとURLをコピーしました