我有一个Python应用程序,通过pkg_resources.iter_entry_points
查找插件。
直接从结帐退出时,会在sys.path
中找到符合条件的任何内容,包括恰好有.egg-info
setuptools
来查找的源检查。
然而,当我通过python setup.py install
在任何地方安装软件包时,它突然停止检测sys.path
中枚举的所有内容,而只是在site-packages
中查找与其一起安装的内容。
pkg_resources.iter_entry_points
对于vanilla source checkout v。已安装的应用程序的行为有所不同? sys.path
中的所有内容,就像在开发中一样?答案 0 :(得分:1)
如何让它迭代sys.path?
pkg_resources.WorkingSet(None).iter_entry_points
为什么表现不一样?可能是因为已安装的软件包至少会强制关于自身的元数据进入内存。看看代码,我的猜测是你的主模块有一个需要属性,但这只是一个有根据的猜测。无论如何,要在开发过程中强制“安装”行为,运行python setup.py develop