(3 개월 전이 문제가 발생할 수 있음을 예견하고 부지런히 피할 수있게되었습니다.) 어제는 힘들었습니다. 나에게 진짜 돈이 든다. 나는 그것을 고칠 줄 알아야한다.)해당 py를 옮길 때 pyc 파일을 자동으로 삭제합니다 (Mercurial)
파이썬 소스 파일 중 하나를 다른 디렉토리로 옮기면, Mercurial이 (hg move
) 이동했다는 것을 기억해야한다.
새로운 소프트웨어를 Mercurial을 사용하여 서버에 배포하면 이전의 Python 파일을 신중하게 삭제하고 새 디렉토리에 생성합니다.
그러나 Mercurial은 같은 디렉토리에있는 pyc 파일을 인식하지 못합니다. 이전 pyc는 동일한 디렉토리의 다른 모듈에 의해 새로운 python 파일보다 우선적으로 사용됩니다.
그 후에 일어나는 일은 우스꽝스럽지 않습니다.
파이썬 파일을 옮길 때 Mercurial이 자동으로 이전 pyc 파일을 삭제하도록 설득 할 수 있습니까? 다른 더 좋은 방법이 있습니까? 모든 Mercurial 리포지토리에서 pyc 파일을 삭제하는 것을 기억하려고 시도하는 것이 효과적이지 않습니다.
그게 효과가 있습니다. 원하는 경우 udpate 후크에서 .py 파일을 직접 서브 루틴 호출 할 수 있습니다. 그냥 후크 이름을 지정하고 .py 파일의 경로를 제공하십시오. 이렇게하면 전체 파이썬 VM을 절약 할 수 있습니다. –
감사합니다, Ry4an. 그 제안에 대해 더 많은 담당자를 드릴 수 있기를 바랍니다. – Oddthinking
후자를 위해,이'find' 명령과 sh 루프는 비슷합니다 :'find. -path './virtualenv/*'-prune -or -name '* .pyc'-print | 읽는 동안 f; [[! -f "$ {f %?}"]] && echo "$ f"&& rm "$ f"; done' – Dougal