経由で 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に何かが欠けている可能性があるためです。したがって、これを「適切な」方法で解決する方法についてのアドバイスは大歓迎です!