Skip to main content
 首页 » 编程设计

python之pysvn 是否可以在 Ubuntu 11.04 上与 Python 3.2 一起使用

2024年11月01日16thcjp

我的 pysvn 模块在 Python 2.7.1 中运行良好,但它拒绝在 Python 3.2 中导入。它是与 apt-get 一起安装的,所以我认为它应该适用于两者。

xxxxx:~$ python 
Python 2.7.1+ (r271:86832, Sep 27 2012, 21:12:17) 
[GCC 4.5.2] on linux2 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import pysvn 
>>> exit() 
 
xxxxx:~$ python3 
Python 3.2 (r32:88445, Oct 20 2012, 14:09:29) 
[GCC 4.5.2] on linux2 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import pysvn 
Traceback (most recent call last): 
  File "<stdin>", line 1, in <module> 
ImportError: No module named pysvn 
>>> exit() 

编辑: 我也试过通过pip安装3.2版本,结果如​​下

xxxxx:~$ sudo pip-3.2 install http://pysvn.barrys-emacs.org/source_kits/pysvn-1.7.8.tar.gz  Downloading/unpacking http://pysvn.barrys-emacs.org/source_kits/pysvn-1.7.8.tar.gz 
  Downloading pysvn-1.7.8.tar.gz (347kB): 347kB downloaded 
  Running setup.py egg_info for package from http://pysvn.barrys-emacs.org/source_kits/pysvn-1.7.8.tar.gz 
 
Cleaning up... 
xxxxx:~$ python3 
Python 3.2 (r32:88445, Oct 20 2012, 14:09:29) 
[GCC 4.5.2] on linux2 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import pysvn 
Traceback (most recent call last): 
  File "<stdin>", line 1, in <module> 
ImportError: No module named pysvn 

请您参考如下方法:

python3-svn自 16.10 Yakkety 以来才包含在 Ubuntu 发行版中。对于那些使用旧版 Ubuntu 的用户,以下信息可能会有所帮助。

这就是我在 Ubuntu 14.04 32 位(以及更高版本的 Ubuntu 16.04 64 位)上为 Python3 构建和安装 pysvn 的方式:

  1. 已经掌握了 subversion 和 python3。
  2. 已安装 libsvn-dev:sudo apt-get install libsvn-dev。这也将安装 libapr1-dev。
  3. 从 Tigris 网站下载 pysvn-1.9.3.tar.gz 并将其解压到一个临时目录中。来自 Tigris 的最新 tar-balls 已经包含 pycxx 源代码。
  4. 将 '../Import/pycxx-%d.%d.%d' % pycxx_version, 行更改为 '../Import/pycxx-6.2.8', 在解压后的 setup_configure.py 文件中,使其指向解压后的 pycxx 目录。 --pycxx-dir 参数对我不起作用,因此是粗暴的硬编码。不过,它可能适用于您的情况,因此您可能想先尝试一下(请参阅@djangonaut 的评论)。
  5. 运行

    python3 setup.py 配置\ --svn-lib-dir=/usr/lib/i386-linux-gnu/\ --apr-lib-dir=/usr/lib/i386-linux-gnu/\ --详细

    另外两个dir参数指向libsvn_client-1.so和libapr-1.so所在的目录。在 64 位系统上,它将是 /usr/lib/x86_64-linux-gnu/。

  6. 运行 make 实际构建库。
  7. 运行单元测试:cd ../Tests,make。
  8. 安装构建的库:

    cd ../来源 sudo mkdir/usr/lib/python3/dist-packages/pysvn sudo cp pysvn/__init__.py/usr/lib/python3/dist-packages/pysvn/ sudo cp pysvn/*.so/usr/lib/python3/dist-packages/pysvn/

  9. 完成。

这主要是来自 pysvn 源的 INSTALL.html 文件中描述的内容,并进行了一些调整。