我的项目能够远程运行python函数。这样做需要发送给定功能的模块。确定要发送的内容是通过修改的模块查找器进行的。路径挂钩的声望(PEP 302定制导入)
当我修改modulefinder以支持任意path_hooks时,我开始感觉到path_hooks并不是那么受欢迎。快速谷歌代码搜索似乎只显示使用它们的ZipImporter。我注意到使用它的一个小项目(即使这样,它的加载程序也不支持get_code的PEP 302扩展,这是修改后的模块搜索器所需要的)。
是否有人遇到过或创建过使用自定义path_hooks访问源代码的项目?
支持任意path_hooks的主要问题是能够:A)读取模块的源代码而不导入它; B)跟踪更改。 如果get_code扩展由PEP 302加载器实现,则解决A.我怀疑自定义路径挂钩不这样做。 对于B,我目前做时间戳(如python)。 ZipImporter拥有归档属性。为了支持任意代码,需要对代码进行校验和;而且,如果自定义挂钩很少使用,跟踪系统就不值得开发。 – UsAaR33
并感谢您的答案。你的回应和缺乏任何其他(或票)符合我的直觉,他们是非常罕见的。 – UsAaR33