使用buildout的"无法识别的.svn/entries格式"

sca*_*a05 6 python svn setuptools buildout distribute

自从升级到subversion 1.7后,我在运行buildout时得到"无法识别的.svn/entries格式".我注意到针对此错误的分发和setuptools都有一个未解决的错误报告,似乎您也可以使用setuptools_subversion来解决此问题.

我无法找到的方法是安装setuptools_subversion,以便buildout选择它.请有人帮忙吗?

我试过了

  • 下载并运行python setup.py install
  • 将它添加到我的buildout配置的[buildout]部分的egg列表中

Mar*_*ers 4

您需要在 python site-packages 级别安装它;easy_install(由 bu​​ildout 在后台使用)需要它可用,然后才能安装其他任何东西。

也就是说,该python setup.py install节应该已经安装好了;通过运行以下测试进行检查:

$ python -m setuptools_subversion
/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/setuptools_subversion.py directory
Run Code Online (Sandbox Code Playgroud)

这应该打印模块的安装路径,就像上面的示例中为我所做的那样。您可以尝试使用 pip 或 easy_install 进行自动下载:

$ pip install setuptools_subversion
Run Code Online (Sandbox Code Playgroud)

或者

$ easy_install setuptools_subversion
Run Code Online (Sandbox Code Playgroud)

如果您想隔离安装,您可以在 virtualenv 中执行此操作。因为这基本上是 svn 1.7 的依赖项,所以将其安装在与 svn 二进制文件相同的级别(通常是系统范围)当然是可以接受的并且是规范的。

请注意,unrecognized .svn/entries format错误消息不会消失,但您的构建将会成功。无论什么情况都会打印该消息,因为 easy_install.svn在推迟到外部插件之前首先尝试内部解析器。

如果您真的非常想验证插件是否已安装,请运行以下 python 代码:

import pkg_resources
for entrypoint in pkg_resources.iter_entry_points('setuptools.file_finders'):
    print entrypoint
Run Code Online (Sandbox Code Playgroud)

在我的系统上打印:

svn = setuptools_subversion:listfiles
svn_cvs = setuptools.command.sdist:_default_revctrl
git = setuptools_git:gitlsfiles
hg = setuptools_hg:hg_file_finder
Run Code Online (Sandbox Code Playgroud)