由于svn的python绑定一直没有推出python2.7的版本,所以只好自己编译了。参考链接:http://www.lejordet.com/2009/03/compiling-subversion-python-bindings-on-windows/

  1. 首先下载swig的windows bin,下载地址:http://www.swig.org/download.html,并解压到目录A
  2. 下载subversion源代码:http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=10339&expandFolder=10339&folderID=260,并解压到目录A
  3. 在下面的链接中下载对应版本的deps(windows下要下载zip格式的文件,不然vc的dsp文件会用错误的line ending而无法打开),并解压到目录A
  4. cd到目录A,执行命令生成vc的solution文件(注意自己对应相应的目录,并使用绝对路径)
1
gen-make.py -t vcproj --vsnet-version=2008 --with-swig=c:homesrcsubversionswig --with-zlib=c:homesrcsubversionsubversionzlib --with-apr=c:homesrcsubversionsubversionapr --with-apr-util=c:homesrcsubversionsubversionapr-util --with-apr-iconv=c:homesrcsubversionsubversionapr-iconv
  1. cd到apr目录,用vc打开apr.dsw,并编译工程
  2. cd到apr-util目录,编译apr-util.dsw,当询问xxx project已经存在,是否加载的时候,选择yes。有些工程可能编译不过,不用管它
  3. 编译根目录下subversion_vcnet.sln,有些工程编译不过,不用管它
  4. 创建一个目录B,拷贝subversionbindingsswigpython下svn目录到B
  5. 在B目录下创建一个目录libsvn,拷贝bindingsswigpython下的*.py到libsvn
  6. 在根目录下搜索*.dll,并拷贝到libsvn目录下
  7. 重命名所有已_开头的dll为pyd。
  8. 拷贝B目录下的svn和libsvn目录到Libsite-packages目录下
  9. 测试是否正常工作:在python的cmd下输入
1
from svn import core
  1. 如果有错误发生,一般是缺少dll的问题,再次确认所有dll都拷贝到libsvn目录下。
    这里附上我的编译结果(解压到Libsite-packages目录下即可使用):
    svn-python-1.6.13.win32-py2.7.7z
    svn-python-1.6.13.win32-py2.7.zip
知识共享授权条款
本著作Chen, Zai-Chun制作,以知识共享 姓名标示-相同方式分享 4.0 国际 授权条款释出

留言

Jan 16 2011