2

私は自分の質問に答えていますが、私は一晩中起きていたので、他の人の痛みを和らげることができれば幸いです. pytidylibまたはutidylibを適切にインストールした後に次のいずれかのメッセージが表示される場合は、この回答が役立つ場合があります。

Snow Leopard で Python を学習していたので、IDLE インタープリター/エディターを使用できるように、32 ビット バージョンの Python 2.7 をインストールしました。Stackoverflow には、私がこれをしなければならなかった理由がよく説明されています。

utidylib をインストールしたときに、「import tidy」から次のエラーが発生しました:

' OSError: Couldn't find libtidy, please make sure it is installed.'

from tidylib import tidy_documentpytidylib で ' 'を試したときに、次のエラーが発生しました。

' OSError: Could not load libtidy using any of these names: libtidy,libtidy.so,libtidy-0.99.so.0,cygtidy-0-99-0,tidylib,libtidy.dylib,tidy.'

これらのエラーが発生した場合は、この回答をお読みください。お役に立てば幸いです。

4

3 に答える 3

5

Linuxでも同様の問題が発生しました(以下のスタックトレースを参照)。pytidylib == 0.2.1を使用して、Ubuntu 11.10(Python 2.7)とGentoo(Python 2.6)の両方のvirtualenvにpipをインストールします。apt-get install libtidy-devUbuntuとemerge app-text/htmltidyGentooにインストールして解決しました。

-------------------------------------------------- --------------------
ファイル"/home/andre/Progz/some_site/djcode/apps/default/tests.py"、行?、default.tests .__test__。doctest
失敗した例:
    tidylibからインポートtidy_document
発生した例外:
    トレースバック(最後の最後の呼び出し):
      ファイル"/home/andre/Progz/some_site/lib/python2.6/site-packages/django/test/_doctest.py"、1267行目、__ run
        compileflags、1)test.globs内
      ファイル""、1行目、
        tidylibからインポートtidy_document
      ファイル"/home/andre/Progz/some_site/lib/python2.6/site-packages/tidylib/__init__.py"、71行目
        raise OSError( "これらの名前のいずれかを使用してlibtidyをロードできませんでした:%s"%( "、"。join(LIB_NAMES)))
    OSError:次の名前のいずれかを使用してlibtidyをロードできませんでした:libtidy、libtidy.so、libtidy-0.99.so.0、cygtidy-0-99-0、tidylib、libtidy.dylib、tidy
-------------------------------------------------- --------------------
于 2012-01-06T22:00:56.893 に答える
0

同じ問題がありました.tidylibをインストールしましたが、次のようにエラーが発生します。

 raise OSError("Could not load libtidy using any of these names: %s" % (",".join(LIB_NAMES)))
    OSError: Could not load libtidy using any of these names: libtidy,libtidy.so,libtidy-0.99.so.0,cygtidy-0-99-0,tidylib,libtidy.dylib,tidy

次に、 /usr/bin/tidy をプロジェクトフォルダーにコピーすると、解決しました。

于 2016-02-27T07:18:25.690 に答える
0

Python パッケージがファイルを見つけることができなかったように見えましたが、実際に起こっていたのは、libtidy を間違ったアーキテクチャ (i386 ではなく x86_64) 用にコンパイルしたことでした。32 ビットの Python インストーラーを使用すると、互換性がなくなりました。

私のような初心者のためlipoに、あなたのファイルのアーキテクチャを教えてくれます:

$ lipo -info /Library/Frameworks/Python.framework/Versions/2.7/bin/python
Architectures in the fat file: /Library/Frameworks/Python.framework/Versions/2.7/bin/python are: ppc i386

$ lipo -info /usr/lib/libtidy.dylib
Non-fat file: /usr/lib/libtidy.dylib is architecture: x86_64

libtidy.dylib と python ファイルを見つけて比較する必要がある場合があります。この問題を解決するには、i386 用に libtidy を再コンパイルする必要があります (または、既にシステムにある i386 でコンパイルされた libtidy にリンクします)。i386 用に再コンパイルするには、次の変更を加えてこれらの手順を使用します。

cvs -z3 -d:pserver:anonymous@tidy.cvs.sourceforge.net:/cvsroot/tidy co -P tidy
cd tidy
sh build/gnuauto/setup.sh
./configure --prefix=/usr CFLAGS="-arch i386"
make && sudo make install

これは私にとってはうまくいきました。それがあなたにとってもうまくいくことを願っています。

于 2010-10-31T19:35:31.050 に答える