gpt4 book ai didi

python - 如何将 pysvn 包含并链接到我的 python 脚本?

转载 作者:行者123 更新时间:2023-11-30 23:51:27 26 4
gpt4 key购买 nike

我正在开发一个使用 pysvn 的工具。该工具的前一个编写者附带了 pysvn1.4,因此它可以在任何有 python 的机器上使用,而无需下载或安装 pysvn。

我想更新该工具以使用 pysvn 1.6。

到目前为止,我所做的是在我的机器上安装 pysvn1.6,并将 pysvn 文件夹从我的/usr/lib/python/site-package/pysvn 目录移动到我的源文件目录中,因为它看起来像前一个作者就是这样做的。

当前文件系统结构如下:

assorted.py files
assorted.pyc files
pysvn folder that includes old version of pysvn
__init__.py
__init__.pyc
__pysvn.so

但是,当我运行该程序时,出现此错误:

Traceback (most recent call last):
File "slocmine.py", line 195, in ?
sys.exit(main(sys.argv[0:]))
File "slocmine.py", line 113, in main
logjsonstr = pyslocd_svn_log.doit(svn, url)
File "/users/users1/chindes/newsloc/svn/lib/python2.4/pyslocd_svn_log.py", line 114, in doit
revision=pysvn_rev_head, depth=pysvn.depth.empty)
AttributeError: 'module' object has no attribute 'empty'

源自此(以前有效的)代码:

repoinfo = svn.info2(repoPathUrl,
revision=pysvn_rev_head, depth=pysvn.depth.empty)

这表明我没有正确导入模块,尽管我可能是错的。

编辑:看来我有 1.6.2 版的 pysvn 和 1.6.15 版的 subversion,它们显然不兼容。

最佳答案

pysvn 绝对是最陌生的构建模块之一。这就是我成功构建和使用 pysvn 的方法。环境变量 TARG 设置为 Python 安装目录。

cd ~
wget http://pysvn.barrys-emacs.org/source_kits/pysvn-1.7.5.tar.gz
tar zxvf pysvn-1.7.5.tar.gz
cd pysvn-1.7.5/Source
python setup.py backport
python setup.py configure --apr-inc-dir=/usr/include/apr-1
make
cd ../Tests
make
cd ../Sources
mkdir -p $TARG/lib/python2.7/site-packages/pysvn
cp pysvn/__init__.py $TARG/lib/python2.7/site-packages/pysvn
cp pysvn/_pysvn_2_7.so $TARG/lib/python2.7/site-packages/pysvn
cd ~

如果旧模块仍然可用,为什么不尝试再次运行它,而是在引发异常的文件中的同一位置添加一些调试语句。您可以使用 diff 在上下文中找到正确的位置,因为代码可能已更改。另一方面,您可以尝试最新版本(请参阅上面的脚本),因为它可能是一个库错误。

关于python - 如何将 pysvn 包含并链接到我的 python 脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6837384/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com