6

Subversion のドキュメントには、Python から Subversion を使用する例があります。

#!/usr/bin/python
import svn.fs, svn.core, svn.repos

def crawl_filesystem_dir(root, directory):
    """Recursively crawl DIRECTORY under ROOT in the filesystem, and return a list of all the paths at or below DIRECTORY."""

    # Get the directory entries for DIRECTORY.
    entries = svn.fs.svn_fs_dir_entries(root, directory)

このコードを実行すると、インポート エラーが発生します。

$ python crawl.py
Traceback (most recent call last):
  File "crawl.py", line 7, in <module>
    import svn.fs, svn.core, svn.repos
ImportError: No module named svn.fs

これは、ライブラリが不足していることを意味しますsvn。パッケージをインストールしようとしましたが、Python パッケージ マネージャーが見つかりません。

$ pip install svn
Downloading/unpacking svn
  Could not find any downloads that satisfy the requirement svn
No distributions at all found for svn

では、このライブラリをインストールするにはどうすればよいですか?

4

2 に答える 2

9

このドキュメントで参照されているライブラリは、Subversion 自体でビルドおよび出荷される SWIG ベースのラッパーです。したがって、お使いのオペレーティング システムのパッケージが の場合は、一緒に出荷subversionするパッケージを探してください。subversion-pythonソースから Subversion をビルドする--with-python場合は、バインドを一緒にビルドするために configure オプションを使用する必要があります。

代替 (まったく異なる API を使用) は、サードパーティのラッパーpysvnです。これらはより適切に文書化されており、使いやすいですが、実行時のパフォーマンスの点では効率が低くなります (文書化されていない「公式」バインディングのすべての接続再利用機能などを実装しているわけではありません)。

于 2012-05-14T13:09:08.660 に答える
2

クラスをインポートできるようにするには、subversion-python をインストールする必要があります。

私の場合(Fedora)

sudo yum install subversion-python

Apt-get は多かれ少なかれ同じである必要があります

于 2013-04-13T20:34:19.143 に答える