15

lldbMacで実行してみましたが、起動時にこれを取得しました:

Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/System/Library/PrivateFrameworks/LLDB.framework/Versions/A/Resources/Python/lldb/embedded_interpreter.py", line 1, in <module>
    import readline
ImportError: /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload/readline.so: no appropriate 64-bit architecture (see "man python" for running in 32-bit mode)
Traceback (most recent call last):
  File "<string>", line 1, in <module>
NameError: name 'run_one_line' is not defined
Traceback (most recent call last):
  File "<string>", line 1, in <module>
NameError: name 'run_one_line' is not defined
Traceback (most recent call last):
  File "<string>", line 1, in <module>
NameError: name 'run_one_line' is not defined

環境変数を追加しようとしましたVERSIONER_PYTHON_PREFER_32_BIT=yesが、このエラーは引き続き表示されます。lldb は Mac ホストとは異なる python 環境を使用していると思いますが、32 ビット モードを使用するにはどこを変更すればよいでしょうか。ありがとう。

アップデート:

私はarch -i386 lldb32ビットで動作しました。64 ビットで動作させるために、OS X 用の 64 ビット バージョンの python readline をインストールしましたが、ネイティブの python ライブラリでさらに問題が発生しましtermiostime。そこで、python 2.7.3 64 ビット インストーラー DMG ファイルをダウンロードし、そのバイナリをインストールしました。現在、lldb は最終的に私の 10.8 マウンテン ライオンで 64 ビットで動作します。ありがとう。

4

2 に答える 2

4

システムのある時点でインストール/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload/readline.soしたようです (Mac OS X 10.7.5 のインストールには表示されませんが、10.8 に含まれている可能性があります)。dylib は 32 ビットでのみビルドされています。で確認できます

file /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload/readline.so

あなたのシステムで。lldb を 32 ビット モードでも実行するように強制することもできます (配布バイナリは 32​​/64 ユニバーサルにビルドされています) が、readline.so本当に必要でない限り、システムから 32 ビットのみを削除することをお勧めします。

于 2013-03-17T21:48:04.443 に答える
0

迅速な修正を求めてこの質問に来る他の誰かのために-Linus Oleanderの答えは私のために働いた-つまり、実行する

pip install six

これが機能する理由についての推測を危うくしていますが、これにより、「非標準」のPythonがインストールされたマシンで実行するときにlldbが直面しているPythonの非互換性の問題がスムーズになると思います。これは、Homebrew のバージョンの llvm を使用している場合にも機能します。

于 2020-02-24T01:09:20.450 に答える