我的 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 的方法:
- 已经有 subversion 和 python3。
- 已安装libsvn-dev:
sudo apt-get install libsvn-dev
。这还将安装 libapr1-dev。 - 从 Tigris 网站下载 pysvn-1.9.3.tar.gz 并将其解压到临时目录中。 Tigris 的最新 tar-ball 已经包含 pycxx 源代码。
- 将行
'../Import/pycxx-%d.%d.%d' % pycxx_version,
更改为'../Import/pycxx-6.2.8',
在解压后的 setup_configure.py 文件中,使其指向解压后的 pycxx 目录。--pycxx-dir
参数对我不起作用,因此进行了暴力硬编码。不过,它可能适合您的情况,因此您可能想先尝试一下(请参阅@djangonaut 的评论)。 运行
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/
。- 运行
make
来实际构建库。 - 运行单元测试:
cd ../Tests
、make
。 安装了构建的库:
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/
完成。
这主要是 pysvn 源的 INSTALL.html 文件中描述的内容,并进行了一些调整。
关于python - pysvn 可以在 Ubuntu 11.04 上使用 Python 3.2 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20426725/