0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

MacBook Air M5を買ったので開発環境を整えた話

0
Posted at

HomebrewでPythonを入れたのに古いPythonが実行された理由を調べてみた

はじめに

プログラミングを学習しています。

最近、MacBook Air M5(24GB/512GB)を購入し、PythonやGoの学習環境を整え始めました。

今回は環境構築をしながら、

「動いたから終わり」

ではなく、

「なぜそう動くのか」

を調べて理解した内容を学習ログとしてまとめます。


今回やったこと

今回導入したものはこちらです。

  • Homebrew
  • Git
  • VS Code
  • Cursor
  • Python
  • uv
  • Go

PythonはHomebrewからインストールしました。

brew install python

ところが、

python3 --version

を実行すると、

Python 3.9.6

と表示されました。

「Homebrewで最新版をインストールしたはずなのに、なぜ古いPythonが実行されるんだろう?」

ここで疑問が生まれました。


原因はPATHの優先順位だった

まず、どのPythonが実行されているのか確認しました。

which python3

結果は

/usr/bin/python3

つまり、Homebrew版ではなくmacOS標準のPythonが実行されていました。

設定を見直したあと、再度確認すると

which python3

結果は

/opt/homebrew/bin/python3

となり、

python3 --version

でも

Python 3.14.6

になりました。


PATHとは何か?

最初は

「PATHって何?」

という状態でした。

調べてみると、

PATHとは、プログラムを探す場所を順番に並べた一覧のことでした。

例えば

python3

と入力すると、

OSは

/opt/homebrew/bin

↓

/usr/local/bin

↓

/usr/bin

というように順番に探していきます。

最初に見つかったPythonが実行されます。

つまりPATHは

「プログラムを探す住所録」

のようなものだと理解しました。


Homebrew版Pythonが実行されるようになった理由

Homebrewは

/opt/homebrew/bin

にPythonをインストールします。

一方、

macOS標準のPythonは

/usr/bin

にあります。

PATHの順番によって、

どちらのPythonが実行されるかが決まります。

今回はHomebrew側が優先されるようになったことで、

最新版のPythonが実行されるようになりました。


Goでも同じように学んだこと

Goもインストールしました。

最初、

go run main.go

を実行すると

stat main.go: no such file or directory

というエラーになりました。

原因は、

現在いるフォルダが

Desktop

だったからです。

実際のファイルは

Desktop
└── NewProject
    └── main.go

にありました。

つまり、

Goの問題ではなく、

現在いるフォルダが違っただけでした。

この時に

  • pwd
  • cd
  • ls

の役割も理解できました。


開発フォルダも整理した

最初はDesktop上で学習していました。

しかし、

今後

  • Python
  • Go
  • Unity
  • 個人開発

などプロジェクトが増えることを考え、

ホームディレクトリの中に

Developer

フォルダを作成しました。

現在は

Developer
├── PythonStudy
│   └── main.py
└── GoStudy
    └── main.go

という構成で学習しています。


今回学んだこと

今回は環境構築以上に、

「なぜそう動くのか」

を理解できたことが収穫でした。

特に

  • PATH
  • which
  • pwd
  • ls
  • cd

は、

単なるコマンドではなく、

OSがプログラムやファイルを探す仕組みを理解するきっかけになりました。


おわりに

今後はPythonやGoなども学習を進める予定です。

環境構築だけでも知らないことばかりで、とても広い世界に飛び込んだと感じました。

焦らず一つずつ、「なぜそうなるのか」を理解しながら学んでいこうと思います。

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?