アトリエロワ

pycacheフォルダと中に user.cpython-313.pycが自動で作られる

__pycache__ フォルダと user.cpython-313.pyc は、Pythonが自動で作ったキャッシュファイルです。Pythonはプログラムを実行するときに、.py ファイル(テキスト)をそのまま読むのではなく、「バイトコード(機械が理解しやすい中間形式)」に一度変換して実行します。

その「変換済みのデータ」を保存しておくのが__pycache__ フォルダにある .pyc ファイル です。

例で説明

user.py を最初に読み込んだときPythonは次のことをします。

  1. user.py を読み取る
  2. コンピュータが理解しやすい形式(バイトコード)に変換する
  3. 実行する
  4. 次回以降の起動を早くするために、変換結果を
    __pycache__/user.cpython-313.pyc に保存する

次にまた同じ user.py を実行すると、Pythonは「中身が前と同じだ」と確認して .pyc を再利用し、起動が少し早くなります。

ファイル名の意味

user.cpython-313.pyc の意味:

部分意味
user元のPythonファイル名
cpython実行しているPythonの種類(CPython)
313Pythonのバージョン 3.13
.pycコンパイル済みファイル(Compiled Python)

消してもOK

__pycache__ はあくまでキャッシュなので、削除しても
次にプログラムを実行したときに自動でまた作り直されます。

セキュリティ的な注意点

  • __pycache__ フォルダはGitHubなどにアップしないようにしましょう。
    .gitignore__pycache__/ と書いておくのが普通です。
  • .pyc ファイルにはソースコードの情報がほぼ残っているので、
    公開リポジトリなどでは削除しておくのが安全です。

Pythonの動き

  1. uvicorn app.main:app --reload でサーバーを起動
  2. Pythonが app/main.pyapp/routes/user.py を読み込む
  3. 実行速度を上げるために、コードを .pyc に変換して保存
  4. 次回以降の起動では .pyc を読み込むから少し速くなる

開発中に「なんかキャッシュが壊れてる?」と思ったら、
__pycache__ フォルダを削除して再実行すればOKです。

放置する場合

  • Pythonが自動的に使ってくれるので、少しだけ起動が速くなります。
  • Gitなどにアップロードするときは .gitignore に入れておくのが普通です(他の環境では再生成されるため不要)。

削除する場合:

  • 次に uvicornpython main.py を実行したときにPythonがまた自動で新しい .pyc を作ります。
  • 安全に削除できます。
  • 時々フォルダ整理や挙動の不一致(古いキャッシュの影響)が気になるときに削除します。

HOME > Python > pycacheフォルダと中に user.cpython-313.pycが自動で作られる