1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Pythonの__pycache__ってなに?

Last updated at Posted at 2025-08-19

そもそも__pycache__とは

Pythonでコードを実行すると、ソースコード(.py)をそのまま実行するのではなく、一度「バイトコード(.pyc)」という形式にコンパイルしてから動きます

  • .py → コンパイル → .pyc
  • 生成された .pyc__pycache__ ディレクトリに入る
  • 次回以降は .pyc を読み込むので起動が少し速くなる

ファイル名にはPythonのバージョンや最適化情報が付く

__pycache__/
example.cpython-311.pyc

importとの関係

Pythonで import をしたとき、以下の流れとなるようです

  1. まず __pycache__ の中に .pyc があるかを探す
  2. あればそれをロードする(=ソースを毎回解釈しない)
  3. なければ .py を読み込んで .pyc を新しく生成する

この前提を知っておくとimport関連のエラーが起こったときに役立つときがあるかもしれません

消していいの?

結論:消してOK
キャッシュなので削除しても次回 import 時にまた作られます

Gitでの扱い

__pycache__ をリポジトリに含める必要はありません
.gitignore に追記して無視しましょう

# Python cache
__pycache__/
*.pyc

クリアしたいとき

環境切り替えとかでキャッシュが邪魔になるときは、一括削除すればOKです。

find . -name "__pycache__" -exec rm -rf {} +

引用元:Qiita - __pycache__を一括で削除する

また python -B オプションを付けると、キャッシュを作らずに実行できます。

まとめ

  • __pycache__ はPythonのキャッシュ(.pyc)
  • import するときはまずここを見に行く
  • キャッシュなので消しても問題ない。Gitに入れない
  • 不要なときは生成スキップも可能(python -B)
1
1
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
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?