0
2

More than 3 years have passed since last update.

Macでpythonを使うときに覚えておいた方がいい備忘録

Last updated at Posted at 2021-06-20

はじめに

Macでpythonを使う時に覚えておいた方がいい備忘録について記載する
Windowsは手順が変わると思われるのであくまでMacのみということで限定する

pyenv

pythonを複数バージョンで使いたいという時に使う
具体的にはbrewから以下の手順でインストールする

brewのインストールがまだというかたは以下のサイトを参照し
TOPページにあるとても長いコマンドをコピペしてインストールしておく

インストールが終わったら

brew install pyenv

とする
この時エラーが私の環境だと出たのでユーザの環境変数のファイル(私はzshを使っていたので.zshrc)に
以下の記載を追加する

export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init --path)"

pyenvのインストールが終わったらまずは自分が使いたいpythonのバージョンをインストールする
以下のコマンドを実行するとインストールできるバージョンがリストアップされる

pyenv install --list

今回は3.6.6をインストールしたいので以下のようにする

pyenv install 3.6.6

インストールが終わったら以下のようにバージョンの切り替えができる
pyenv global <version名>で覚えておこう

pyenv global 3.6.6;python3 -V

現在のインストール状態が知りたい場合は以下の通り

pyenv versions

以下のように今使っているバージョンがコメ印で表示される

出力結果
* system (set by /Users/yue-pc/.pyenv/version)
  2.7.16
  3.6.6

また元に戻したい場合は次のコマンドを実行

pyenv global system;python3 -V

因みにanacondaなんかも入れられるのでローカルに入れたanacondaは消して今後はpyenvで個人的には管理しようと思う

pyenv install anaconda3-2021.05
pyenv global anaconda3-2021.05
pyenv versions

次のようにanacondaに切り替わっていればanaconda3のpythonになっている

実行結果
  system
  2.7.16
  3.6.6
* anaconda3-2021.05 (set by /Users/xxx-pc/.pyenv/version)

プロンプトもanacondaになっていることを確認できる

% python
Python 3.8.8 (default, Apr 13 2021, 12:59:45)
[Clang 10.0.0 ] :: Anaconda, Inc. on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>

condaもきちんとインストールされている

which conda
/Users/xxx-pc/.pyenv/shims/conda

virtualenv

pythonにはデフォルトで仮想環境にpythonが入れられる
色々試したい時に色々ローカルにpython環境を入れて思わぬ不具合にぶつかってハゲ散らかすことがないように何かやるときは必ず仮想環境下にpython実行環境を作っておくのがオススメであるというかマストであると思う

というわけで仮想環境を作る方法だが至って簡単
pythonコマンドでに"-m"でモジュール指定でvenvと指定し仮想環境名を指定するだけである

適当にhogehogeという環境を作る
なお作成される環境はローカルのpython環境になるため、version2系を入れたいとかいう場合は事前にpyenv global <pythonバージョン>とかでpython2系に切り替えておく方が良い
※作り直せなくはないが面倒なので

  • 環境作成
python -m venv hogehoge

-仮想環境へログイン

#. ./hogehoge/bin/activate
source ./hogehoge/bin/activate

(hogehoge) %のように先頭に仮想環境名がついていればログインできたことになる
先頭の(.ドット)がないと何故か権限エラーになる場合があるので(.ドット)を忘れないように

  • 20210622追記 その後の調べでsourceと(.ドット)コマンドは同じものらしい 確認したところ実行しようとしているactivateというスクリプトには実行権限が付与されていなかったのでエラーになったことが判明した※以下参考
-rw-rw-r--  1 xxx-pc  staff  2423  6 21 10:53 ./conda_python_works/bin/activate.fish
-rw-rw-r--  1 xxx-pc  staff  1271  6 21 10:53 ./conda_python_works/bin/activate.csh
-rw-rw-r--  1 xxx-pc  staff  2219  6 21 10:53 ./conda_python_works/bin/activate

実行権限がついてなくても実行できる方法としてsourceと(.)の2つが用意されているということであった
ドットだと見落しの可能性があると思うので個人的にはsourceで統一したい

  • 仮想環境からのログアウト

deactivateと入力するこれだけ

deactivate
  • 作成した仮想環境の削除

rmで消すだけ

sudo rm -rf ./hogehoge
0
2
0

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
0
2