配置Eclipse以使用Subversion的Python绑定

1 投票
1 回答
785 浏览
提问于 2025-04-17 07:36

我刚开始接触Python,之前是用PHP的。所以,这个问题对经验丰富的Python开发者来说可能听起来有些傻,但我真的很困惑。

我想做一个简单的Python应用来处理版本控制(subversion)。为此,我想使用subversion的Python绑定,所以我安装了Ubuntu的python-subversion和python-subversion-dbg包。

$ ll /usr/lib/pyshared/python2.6/libsvn
total 6460
drwxr-xr-x  2 root root    4096 2011-12-03 17:01 ./
drwxr-xr-x 23 root root    4096 2011-12-03 09:47 ../
-rw-r--r--  1 root root  790331 2011-08-05 19:59 _client_d.so
-rw-r--r--  1 root root  320844 2011-08-05 20:00 _client.so
-rw-r--r--  1 root root  900465 2011-08-05 19:59 _core_d.so
-rw-r--r--  1 root root  379804 2011-08-05 20:00 _core.so
-rw-r--r--  1 root root  300336 2011-08-05 19:59 _delta_d.so
-rw-r--r--  1 root root  115932 2011-08-05 20:00 _delta.so
-rw-r--r--  1 root root  228879 2011-08-05 19:59 _diff_d.so
-rw-r--r--  1 root root   89532 2011-08-05 20:00 _diff.so
-rw-r--r--  1 root root  345484 2011-08-05 19:59 _fs_d.so
-rw-r--r--  1 root root  137400 2011-08-05 20:00 _fs.so
-rw-r--r--  1 root root  582390 2011-08-05 19:59 _ra_d.so
-rw-r--r--  1 root root  231864 2011-08-05 20:00 _ra.so
-rw-r--r--  1 root root  491500 2011-08-05 19:59 _repos_d.so
-rw-r--r--  1 root root  196668 2011-08-05 20:00 _repos.so
-rw-r--r--  1 root root 1038898 2011-08-05 19:59 _wc_d.so
-rw-r--r--  1 root root  426008 2011-08-05 20:00 _wc.so

我试着在Eclipse中通过PyDev > 解释器Python > 库 > 新文件夹来添加/usr/lib/pyshared/python2.6/libsvn这个库。但我还是无法从svn包中导入任何东西。我还发现那里没有.py文件,只有.so文件。

我只想像在http://svnbook.red-bean.com/en/1.1/ch08s02.html上那样使用它。

我的代码:

from svn import fs

我遇到的错误:

File "/home/umpirsky/EclipseWorkspace/test/src/test.py", line 1, in <module> ImportError: cannot import name fs

我该如何导入这个?

1 个回答

1

我记得之前安装过这个。你有按照所有步骤来做吗?以下几个步骤是必须正确完成的:

  • 进入 Source 文件夹:cd Source
  • 用 'python setup.py configure' 创建 Makefile
  • 运行 make
  • 进入 Tests 文件夹:cd Tests
  • 通过运行 make 来测试 pysvn

如果这些步骤都能顺利运行,那就说明你的构建是成功的。接下来,把以下内容从 Extension/Source 复制到 Python 的特定目录中来安装 pysvn。

mkdir python-libdir/site-packages/pysvn
cp pysvn/__init__.py python-libdir/site-packages/pysvn   
cp pysvn/_pysvn*.so python-libdir/site-packages/pysvn

默认情况下,你的 site-packages 应该在:/usr/local/lib/pythonX.Y/site-packages 这个路径下。

复制完成后,在 Eclipse 中:

点击 Window -> Preferences -> Pydev -> Interpreter Python

在 System PYTHONPATH 下添加你刚才创建的文件夹。

我发现有时候 Pydev 不会自动识别新的源文件夹,不知道是什么原因。所以,我通常会先删除编译器,然后再添加一次。这样 Pydev 就能识别 site-packages 下的所有内容了。

补充说明:

这里是你需要的 下载说明。我以为你下载的是和 python-svn 一样的包。其实我没有使用过你下载的那个版本。不过我觉得 pysvn 应该能满足你的需求,而且它有很好的文档,适合刚入门的人。

安装指南应该能帮助你完成安装。如果你在过程中迷路了,可以参考我上面提到的笔记。

site-packages 就是 Python 安装模块的标准位置。

撰写回答