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?

__pycache__が生成されるディレクトリが指定できるようになっていた件

Posted at

Pythonの__pycache__ディレクトリは、Pythonファイルをコンパイルしたバイトコード(.pycファイル)をキャッシュするために自動生成されます。このディレクトリの場所を明示的に指定する方法は、Python標準には直接は存在しませんが、いくつかの方法で__pycache__の管理やディレクトリの扱いを調整することはできます。

1. PYTHONPYCACHEPREFIX 環境変数を使う

Python 3.8以降では、PYTHONPYCACHEPREFIX環境変数を使って__pycache__ディレクトリの保存場所を変更できます。この変数にカスタムのディレクトリパスを指定すると、すべてのバイトコードキャッシュがその場所に保存されます。

使い方

以下の例では、キャッシュを/path/to/custom/cacheに保存します。

Linux/macOS

export PYTHONPYCACHEPREFIX=/path/to/custom/cache
python your_script.py

Windows

set PYTHONPYCACHEPREFIX=C:\path\to\custom\cache
python your_script.py

これで__pycache__フォルダが指定したディレクトリに生成され、スクリプト実行ごとにその場所にバイトコードキャッシュが保存されます。

2. プログラム内でsysモジュールを使って設定

PYTHONPYCACHEPREFIXをプログラム内で設定したい場合は、次のようにos.environを使用します。

import os
import sys

os.environ['PYTHONPYCACHEPREFIX'] = '/path/to/custom/cache'

# これで以降のインポートやコンパイル時にカスタムキャッシュディレクトリが使われます

3. __pycache__ディレクトリを削除または無視する方法

__pycache__ディレクトリを生成させたくない場合や、キャッシュを保持したくない場合、以下の方法もあります:

  • 実行時にキャッシュを無効にする: スクリプト実行時にキャッシュを生成させない場合は、PYTHONDONTWRITEBYTECODE環境変数を設定します。

    export PYTHONDONTWRITEBYTECODE=1  # Linux/macOS
    set PYTHONDONTWRITEBYTECODE=1     # Windows
    
  • .pycファイルをクリーンアップ: 不要になった__pycache__フォルダをクリーンアップするには、以下のコマンドを実行します。

    find . -name "__pycache__" -type d -exec rm -r {} +
    

これらの方法で、__pycache__ディレクトリの管理を柔軟に行えます。

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?