3

メールを送信するSVNのコミット後フックを構成して実行しようとしています。クラスmailer.pyをダウンロードし、Python2.7とsvn用のsvn-win32バインディングをインストールしました。マシンはWindows-764ビット、Pythonは32ビットです。これで、mailer.pyがエラーで終了します。これは、インポートの問題が原因です。

Pythonコンソールで「importsvn.core」と入力すると、次のエラーが発生します。

>>> import svn.core
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "c:\tools\Python27\lib\site-packages\svn\core.py", line 19, in <module>
    from libsvn.core import *
  File "c:\tools\Python27\lib\site-packages\libsvn\core.py", line 5, in <module>
    import _core
ImportError: No module named _core

ディレクトリsite-packages/libsvnには、次のようなファイルがあります:_core.dll

正しくインストールされた他のバインディングpysvnをインストールしましたが、気付いた限りでは、これはまったく別のAPIであるため、python.pyには使用できません。

誰かが同様の問題を抱えていて、それに対処する方法を知っていますか?

4

2 に答える 2

2

Python バインディングは、ネイティブの Subversion ライブラリ (DLL) をロードする必要があります。Python が 32 ビットの場合、32 ビット バージョンのネイティブ Subversion ライブラリが PATH に必要です。

于 2011-09-26T14:25:25.413 に答える
0

このような問題があります。問題は、Python がこのライブラリ (svn.core など) をインポートできないことでした。

私はただ作る:
import sys
sys.path.append("C:\csvn\lib\svn-python").

私のファイル core.pyc は C:\csvn\lib\svn-python\svn にありました。それが誰かに役立つことを願っています。svn-pythonディレクトリに「 init .py」または「init .pyc」ファイルがないため、このような動作は奇妙です。しかし、それは機能します。

于 2013-12-19T13:24:07.150 に答える