在通过pip install readline
安装readline时构建readline的c扩展名时,收到如下错误消息: -
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中遗漏了某些内容。因此,非常感谢任何关于如何以“适当”的方式解决这个问题的建议!
答案 0 :(得分: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
并查看是否有诀窍。