强行打开某些鸡蛋目录

Jer*_*ckx 5 python egg setuptools python-sphinx

我有一个PyQt应用程序的蛋分发,我自己构建,它包含sphinx生成的文档.当我从应用程序调用帮助文件时,它会在QtWebKit.QWebView窗口中打开sphinx index.html.显然,只有index.html文件从egg中提取到OS的egg目录中(例如Windows下的[..]\Application Data\Python-Eggs \).

这会导致css损坏,图像损坏和链接断开,因为这些其他文件似乎没有得到解压缩; 它们存在于egg文件中,但不存在于egg目录中.

我错过了什么吗?有没有办法强制立即解压缩所有的html,css,图像文件?

PJ *_*Eby 4

我发现您已经找到了另一种方法来执行此操作,但为了将来参考,这是自动执行此操作的非解决方法,来自http://peak.telecommunity.com/DevCenter/setuptools#automatic-的文档资源提取[强调]:

如果您使用的工具期望资源是“真实”文件,或者您的项目包含非扩展本机库或 C 扩展期望能够访问的其他文件,则可能需要在 eager_resources 参数中列出这些文件到setup(),这样文件就会一起解压

所以,在这种情况下,你想做的是:

eager_resources=['doc/sphinx/build/html', 'doc/sphinx/build/html/index.html']
Run Code Online (Sandbox Code Playgroud)

在你的 setup.py 中,这将导致当你请求 index.html 时递归地提取 'html' 目录(假设你的示例中的 'doc' 是一个顶级包)。

(您可以在http://peak.telecommunity.com/DevCenter/setuptools#new-and-changed-setup-keywordseager_resources的文档中找到有关该关键字的更多信息)