为什么我安装的应用程序处理pkg_resources.Iter_entry_points与source中的不同



我有一个Python应用程序,通过pkg_resources.iter_entry_points寻找插件。

当直接从源代码签出运行时,这将在sys.path中找到符合要求的任何内容,包括源代码签出碰巧有适用的.egg-infosetuptools查找。

然而,当我通过python setup.py install在任何地方安装包时,它突然停止检测sys.path中枚举的所有内容,而只查找与site-packages一起安装的内容。

  • 为什么pkg_resources.iter_entry_points的行为不同于香草源签出与安装的应用程序?
  • 我如何使它遍历sys.path中的一切,因为它在开发中?
  1. 如何让它迭代sys.path?

    pkg_resources.WorkingSet(None).iter_entry_points

  2. 为什么它的行为不同?可能是因为安装的包至少强制将有关自身的元数据放入内存中。查看代码,我的猜测是主模块有一个require 属性,但这只是一个有根据的猜测。无论如何,要在开发时强制"安装"行为,运行python setup.py develop

  3. 应该足够了

相关内容

  • 没有找到相关文章

最新更新