1
我想弄清楚如何重寫SCons從緩存目錄(由CacheDir給出)將工件複製到使用硬鏈接時的行爲。覆蓋SCons緩存複製函數
我現在嘗試
def link_or_copy_file(class_instance, src, dst):
# do hardlinking instead...
SCons.Defaults.DefaultEnvironment()._copy_from_cache = link_or_copy_file
SCons.Defaults.DefaultEnvironment()._copy2_from_cache = link_or_copy_file
env = Environment()
env._copy_from_cache = link_or_copy_file
env._copy2_from_cache = link_or_copy_file
對的env
後續使用沒有影響。從不調用函數link_or_copy_file
。哪裏不對?
難道不可以用這種方式重寫Python類的成員函數嗎?
更新:另外請注意,我env.Decider()
後做這已經稱爲該功能可能會覆蓋成員_copy_from_cache
和_copy2_from_cache
。