我如何可以手动注册通过pkg_resources分布?
-
11-09-2019 - |
题
我试图让安装在谷歌App Engine的一个包。该软件包依赖相当广泛的pkg_resources
,但没有办法在App Engine上运行setup.py
。
有一个在源没有特定于平台的代码,但是,所以它是没有问题的只是压缩了源和包括那些在系统路径。而且我已经得到了一个版本pkg_resources
安装并正常工作为好。
唯一的问题实际上越来越封装的注册的与pkg_resources
所以当它调用iter_entry_points
它可以找到相应的插件。
用什么方法,我需要调用的所有适当的元数据登记在sys.path
模块,以及如何找出什么是元数据需要是什么?
解决方案
为包创建一个setup.py就像你通常会,然后用“setup.py sdist --formats =拉链”打造你的源拉链。内置源拉链将包括.egg-信息元数据目录,那么这将是通过pkg_resources容易找到。或者,你可以使用bdist_egg所有你的包。
其他提示
是的,setuptools的基础,你需要与它一起部署库的“蛋”的元数据的库。我发现最简单的方法是部署包含整个的virtualenv 环境的项目和所需的库。
我手动这样做过程,并添加该代码在main.py的方式,pkg_resources
将工作初始化站点包文件夹:
import site
site.addsitedir('lib/python2.5/site-packages')
不过,你可以尝试,它能够自动最的AppEngine猴的这个要求。
在本地开发系统,运行python setup.py bdist_egg
,配备必要的元数据包括,这将创造一个ZIP文件。将它添加到您的sys.path
,它应能正常工作。
不隶属于 StackOverflow