2012-05-14 4 views
6

내가 가져 오기 오류를 얻을이 코드를 실행하면 파이썬파이썬 서브 래퍼 라이브러리

#!/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) 

에서 Subversion을 사용하는 예있다 도서관 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 

이 라이브러리를 어떻게 설치합니까?

+1

이 조금 이상한 아닌가 더 많거나 적은을 가져야한다 svn.fs' (후자가 가져 오기 목록에서 처음 나타납니다)? – NPE

+1

대화 형 프롬프트에서'import svn.core'를 실행하는 중 오류를 복사하여 붙여 넣었습니다. –

답변

9

이 문서에서 언급하는 라이브러리는 Subversion 자체를 빌드하고 제공하는 SWIG 기반 래퍼입니다. 따라서 운영 체제 패키지가 subversion 인 경우 subversion-python 패키지가 함께 제공 될 것입니다. 소스에서 Subversion을 빌드하는 경우 바인딩을 함께 구성하려면 --with-python 구성 옵션을 사용하는 것이 좋습니다.

대안 (상당히 다른 API 사용)은 the 3rd-party wrapper pysvn입니다. 이들은 더 잘 문서화되고 사용하기 쉽지만 런타임 성능면에서 효율성이 떨어집니다 (모든 연결 재사용 기능과 저비용의 "공식"바인딩 등을 구현하지는 않습니다).

+0

슬프다 내 OS는 지금 Windows이고 패키지 관리자는 없습니다. 나를 문서화 할 수 있다면'pysvn'을 사용해서 행복합니다. –

+0

@MattHickford pysvn에 대한 링크로 업데이트되었습니다. –

+1

감사합니다. 찾기 어려운 문서 http://pysvn.tigris.org/docs/pysvn_prog_guide.html http://pysvn.tigris.org/docs/pysvn_prog_ref.html –

2

클래스를 가져올 수 있으려면 Subversion-Python을 설치해야합니다. 내 경우

(페도라)

sudo yum install subversion-python 

apt-get을가`에 대해 svn.core``에 대해 불평하지만 것과 같은