问题:如何系统地探测解释器随时涉及的文件(如在调试模式下)。我如何系统地确定Python在其可访问的包/模块树中的依赖关系?
当一切都失败时,我会收到错误消息。我所要求的是相反的:一切都有效,但我不知道我有多少多余的垃圾,尽管我可以想象像pynotify这样的东西可能可以追踪它。
语境:
我花了整个上午都在行使审判&错误要获得软件包的工作。我确定我已经将相关的python软件包复制到至少3个目录中,并用垃圾将我的windows setx -m path
弄糟。现在我想知道如何在没有任何依赖的情况下清理它,并且实际上从过程中学习。
我不可能是唯一一个想知道这件事的人。一些有才华的测试,开发人员必须编写了一个脚本/包:
import everything from everywhere
check for all dependencies
E = list(errorMessages)
L = list_of_stuff_that_was_used
print L
print E
所以,如果我有东西存放这是不是在L
,我可以将其删除。但是,当然探测必须彻底,以消耗所有可访问的文件(或至少积极使用的目录)。
问题是什么不是约: 我对sys.path
什么是不感兴趣。这是微不足道的。
更多的上下文:
我从The Hitchhikers Guide to Packaging这个问题的未来被不客气知道,但它不探讨了过去。因此,从Python 2xx到3xx的转换,这个问题必须变得越来越相关?
Thanks Martijn;我认为引导虚拟环境到一个临时目录监控与pynotify可以做的伎俩(?),但如果你认为这条路线注定要失败,那么我甚至不会尝试。 – 2013-03-09 11:33:53
@BHM:任何pip-installable包都会声明它的依赖关系,所以只需使用'pkg_resources'和朋友即可。任何你需要手动安装的东西,好吧,你已经知道它是依赖关系了,不是吗? :-) – 2013-03-09 11:52:40
明白了:-)谢谢。 – 2013-03-09 12:09:55