如何使用pkg_resources手动注册分发?

我正在尝试在Google App Engine上安装一个软件包。该软件包相当广泛地依赖于
pkg_resources
,但是没有办法在App Engine上运行
setup.py
。 但是,源代码中没有特定于平台的代码,因此只需压缩源代码并将其包含在系统路径中就没有问题。我已经安装了一个版本的
pkg_resources
并且也正常工作。 唯一的问题是让包实际上注册了
pkg_resources
所以当它调用
iter_entry_points
时它可以找到合适的插件。 我需要使用哪些方法调用
sys.path
上的模块以及所有适当的元数据,以及如何确定元数据需要什么?     
已邀请:
像往常一样为包创建setup.py,然后使用“setup.py sdist --formats = zip”来构建源zip。构建的源zip将包含一个.egg-info元数据目录,然后pkg_resources可以找到该目录。或者,您可以将bdist_egg用于所有包。     
是的,对于基于setuptools的库,您需要同时部署库的“Egg”元数据。我发现最简单的方法是部署一个包含项目和所需库的整个virtualenv环境。 我手动完成了这个过程,并将此代码添加到main.py中,以
pkg_resources
的方式初始化site-packages文件夹:
import site
site.addsitedir('lib/python2.5/site-packages')
但是,您可以尝试使用appengine-monkey,它可以为您自动完成大部分内容。     
在本地开发系统上,运行
python setup.py bdist_egg
,这将创建一个包含必要元数据的Zip存档。将它添加到
sys.path
,它应该正常工作。     

要回复问题请先登录注册