1

経由で readline をインストールするときに readline の c 拡張機能をビルドするとpip install readline、次のようなエラー メッセージが表示されます。

Beginning configuration for readline-6.2 for i386-apple-darwin11.3.0



checking whether make sets $(MAKE)... yes

checking for gcc... gcc

checking for C compiler default output file name...

configure: error: in `/Users/calvin/.virtualenvs/myproj/build/readline/rl/readline-lib':

configure: error: C compiler cannot create executables

See `config.log' for more details.





============ Building the readline library ============





============ Building the readline extension module ============



running install

running build

running build_ext

building 'readline' extension

Compiling with an SDK that doesn't seem to exist: /Developer/SDKs/MacOSX10.7.sdk

システムで MacOSX10.7.sdk の場所を検索すると、次のことがわかります。

calvin$ sudo find / -name "MacOSX10.7.sdk"
Password:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk
find: /dev/fd/3: Not a directory
find: /dev/fd/4: Not a directory

これは、readline のコンパイルが予期している場所ではありません。

pip が MacOSX10.7.sdk を見つける方法にバグはありますか?

MacOSX10.7 を/Developer/SDKsディレクトリにコピーせずにこれを解決するにはどうすればよいですか?

明確化

これが私の問題を一時的に解決する方法です。

calvin$ sudo mkdir -p /Developer/SDKs/
Password:

calvin$ sudo ln -s /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk /Developer/SDKs/MacOSX10.7.sdk

calvin$ pip install readline

しかし、これがそれを解決する「適切な」方法であるかどうかはよくわかりません.pipが.sdkの場所を見つける方法に固有の問題があるか、システムPATHに何かが欠けている可能性があるためです。したがって、これを「適切な」方法で解決する方法についてのアドバイスは大歓迎です!

4

1 に答える 1

2

それは良い質問です。注意点として、私MacOSX10.7.sdkにフォルダを持っている/Developer/SDKsので、ファイルシステムの状態が間違っている可能性があります。

おそらく最も安全な方法は XCode をインストールすることですが、それは時間の面で恐ろしく高価です。ソフトリンクを作成することから始めます。

sudo ln -s /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk /Developer/SDKs/MacOSX10.7.sdk

そして、それがうまくいくかどうかを確認してください。

于 2012-04-14T02:28:18.137 に答える