LoginSignup
0
0

More than 1 year has passed since last update.

(初心者的)この /usr/bin/python3 はだれが?

Posted at

小型マイコン遊び以外でも,ちょっとしたテキストデータの処理等で標準のPythonを使う場面が増えてきた。とても便利。

ふと,自分のMacを見たら,/usr/bin/python3があることに気づいた。おかしいな。このMacにはインストールした記憶ないのに...

(Catalina 10.15.7)

$ which python
/usr/bin/python
$ python --version
Python 2.7.16
$ which python3
/usr/bin/python3
$ python3 --version 
Python 3.8.2
$ 

参考URL

このままこの python で pip していいのだろうか? 疑問に思い,更に調べてみると,venvで仮想環境を作る,という手法が一般的だそうだ。なるほど。勉強になる。

やってみた。私は fish シェルを使っているので,.venv/bin/activate.fish を使うようだ。

numeru55@numeru55-MacBook-Pro-13 ~> mkdir venv_test
numeru55@numeru55-MacBook-Pro-13 ~> cd venv_test/
numeru55@numeru55-MacBook-Pro-13 ~/venv_test> which python3
/usr/bin/python3
numeru55@numeru55-MacBook-Pro-13 ~/venv_test> python3 -m venv .venv
numeru55@numeru55-MacBook-Pro-13 ~/venv_test> source .venv/bin/activate.fish 
(.venv) numeru55@numeru55-MacBook-Pro-13 ~/venv_test> which python3
/Users/numeru55/venv_test/.venv/bin/python3
(.venv) numeru55@numeru55-MacBook-Pro-13 ~/venv_test> deactivate
numeru55@numeru55-MacBook-Pro-13 ~/venv_test> 

これで安心してpipできる。もちろんスクリプトをシェルから直接実行する場合に

#!/usr/bin/env python3

としないと,仮想環境のpython3を使わないので注意が必要だ。

で,肝心の /usr/bin/python3だが,homebrewを使うときにXcodeとともにインストールされたもの,と断定した。

homebrewを導入していないmacにも/usr/bin/python3(らしきもの)があり,terminalで実行してみると,Xcodeの導入をうながされるからだ。なるほど。これで納得。

(補足)

小型マイコンで遊んでいると,標準のPython(CPythonとも言うらしい)がいろいろ動いていることを体験していた。これらはいわばpythonの仮想環境を使っているようだった。

  • Thonny は自前で local python という名前で持っている。GUIでpipして,thonnyからterminalを呼び出すことで,ライブラリーをインストールされた環境を使うことができる。
  • esp32のバイナリーを書き込むとき,Arduinoなどでは裏で(堂々と?)esptool.pyが動いている。
  • Visual Studio Code を使っているときも見たことがある
0
0
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
0