2

Python 2.7.1 では pysvn モジュールがうまく機能していますが、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
4

3 に答える 3

3

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 の Web サイトから pysvn-1.9.3.tar.gz をダウンロードし、一時ディレクトリに解凍しました。Tigris からの最新の tar ボールには、すでに pycxx ソースが含まれています。
  4. アンパックされたsetup_configure.pyファイルの行'../Import/pycxx-%d.%d.%d' % pycxx_version,を変更して、アンパックされた pycxx ディレクトリを指すようにしました。パラメータが機能しなかったため、ブルートハードコーディングが行われました。ただし、あなたの場合にはうまくいくかもしれないので、最初に試してみることをお勧めします (@djangonaut からのコメントを参照)。'../Import/pycxx-6.2.8',--pycxx-dir
  5. 走る

    python3 setup.py configure \ --svn-lib-dir=/usr/lib/i386-linux-gnu/ \ --apr-lib-dir=/usr/lib/i386-linux-gnu/ \ --verbose

    追加の 2 つの dir パラメータは、libsvn_client-1.so と libapr-1.so があるディレクトリを指します。64 ビット システムでは、 になります/usr/lib/x86_64-linux-gnu/

  6. make実際にライブラリをビルドするために実行します。
  7. 単体テストを実行します: cd ../Tests, make.
  8. ビルドされたライブラリをインストールしました:

    cd ../Source 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 ファイルに記述されているもので、いくつかの調整が加えられています。

于 2017-01-05T12:22:47.130 に答える
-1

Ubuntu は、Python 2 と Python 3 のパッケージを別々に配布します。これは、Python の 2 つのメジャー バージョンに異なるソース コードを使用する必要があるためです。通常、Python 3 パッケージにはpython3python. pysvn は Python 3 をサポートしていますが、Python 3 pysvn パッケージは Ubuntu に存在しないようです。

于 2013-12-06T15:20:15.580 に答える