2

最近、git を使用して PyCharm で Django を使い始めました。時々、サーバーの実行に問題があり、修正したいくつかのエラーが表示されます。この問題を解決するには、毎回 .pyc ファイルを手動で削除する必要があります。そして、サーバーを再度実行します。ソースをコンパイルするたびに、2 つのオーバーライド .pyc ファイルを強制するにはどうすればよいですか?

@jbat100 と @Leonardo.Z に感謝します。私はそれを考え出した。PYTHONDONTWRITEBYTECODE=1 を渡します。そしてそれは魔法のように働きます。しかし悲しいことに、私は 1 つの答えしか受け入れることができません。@jbat100 が私に腹を立てないことを願っています。

4

3 に答える 3

2

レオナルドの答えはおそらくあなたが探しているものですが.pyc、シェルでファイルを削除することもできます

find . -name "*.pyc" -exec rm -rf {} \;

それを行うためのDjangoスニペットもあります

import os
directory = os.listdir('.')
for filename in directory:
    if filename[-3:] == 'pyc':
        print '- ' + filename
        os.remove(filename)

また、python ソースのコンパイルに使用され、再コンパイルを強制するオプションがあるcompileallユーティリティを確認することもできます。

于 2013-10-31T08:51:19.490 に答える
0

それを達成するために次のコードを使用します。

import subprocess
subprocess.call('find . -name "*.py[co]" -delete', shell=True)

これをmanage.py コマンドとして使用するには、次のようにします。

このコードを次の場所に配置します。<app_name>/management/commands/delete_pyc.py

from django.core.management.base import BaseCommand, CommandError

class Command(BaseCommand):    
    help = """Delete all .pyc/.pyo files"""    
    def handle(self, *args, **options):
        import subprocess
        subprocess.call('find . -name "*.py[co]" -delete', shell=True)

実行するには:

python manage.py delete_pyc
于 2018-06-06T11:31:29.820 に答える