4
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

macOS Catalina で python の開発環境を作るメモ

Last updated at Posted at 2020-03-22

メモ随時更新予定

狙いとしては python の開発環境の構築

Mojave から Catalina に上げた環境で、普通にやってるとバージョンの違いで python3 とか pip3 で期待通りに動かなかったので pyenv あたりを利用してうまいこと動かないか試す。

本当は Docker とか使った方が良さそうだけどひとまず・・・

homebrew

ここからスタート。

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"

pyenv インストール

$ brew install pyenv
$ pyenv -v
pyenv 1.2.17

プロファイルの設定

$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
$ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
$ echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n  eval "$(pyenv init -)"\nfi' >> ~/.bash_profile

ちなみに、zsh の場合には .zshrc に対して同様の設定を行えば良いみたいです。

Zsh note: Modify your ~/.zshrc file instead of ~/.bash_profile.
https://github.com/pyenv/pyenv

.zprofile ではなく、.zshrc な理由は不明。

反映

$ source ~/.bash_profile

バージョンを指定して python をインストール

インストール可能なバージョンを確認

$ pyenv install -l

使いたいバージョンをインストール

$ pyenv install 3.7.7

インストールの確認

$ pyenv versions
* system (set by /Users/ykinomt/.pyenv/version)
  3.7.7

バージョン切り替え

現状確認

$ python -V
Python 2.7.16

切り替え

$ pyenv global 3.7.7
$ python -V
Python 3.7.7

そのディレクトリ単位で切り替えるなら local を使う。

$ python -V
Python 2.7.16
$ pyenv local 3.7.7
$ python -V
Python 3.7.7

localを使った場合、そのディレクトリに .python-version というファイルが作成され、そのディレクトリでは指定されたバージョンで動く。
アプリケーションを作成する様な場合は local で指定した方が良いかも。

vscode の設定

特に必要ないが、インタープリタの設定で出てくるバージョンは VSCode 起動までにインストールされたモノみたいなので、上記の設定で新規にインストールした場合には一度 vscode を再起動しないと選択できないかも。

4
7
7

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?