我正在尝试在Mac上安装旧版本的Python。我目前正在运行2.7.9,但我们的生产环境运行2.7.6。 (gevent和2.7.9存在兼容性问题。)
我发现pyenv允许我安装各种版本。我用brew安装了pyenv并安装了2.7.6。然后我使用以下命令创建了一个带有2.7.6的virtualenv:
mkvirtualenv my_env --python=/Users/dustin/.pyenv/versions/2.7.6/bin/python
它似乎工作正常,我正在运行Python 2.7.6。我遇到的问题是我无法使用像Cython或M2crypto这样的pip安装某些软件包。我得到C编译错误。
clang: error: linker command failed with exit code 1 (use -v to see invocation)
error: command 'clang' failed with exit status 1
如果我在没有指定Python版本的情况下创建virtualenv,这些包安装正常。我该如何解决这个问题?
答案 0 :(得分:0)
可能是因为尝试在较新版本的OS X上运行旧版本的Python 2.7.x(如2.7.6)。如果您使用的是OS X 10.10,则很可能是问题所在。见http://bugs.python.org/issue21811。您可能需要至少添加_osx_support.py
的修补程序。如果没有,请尝试使用pip
运行-v
并使用结果更新您的问题。
更新:根据您提供的其他信息,很明显您遇到了在2.7.8中发布的Issue21811更改中修复的OS X 10.10支持问题。特别是,需要configure
更改才能正确解析两位数的次要版本号(10
);否则,configure
中的代码错误地认为您正在运行非常旧版本的OS X并生成过时的链接指令。您应该向后移植https://hg.python.org/cpython/rev/2672e30d9095和https://hg.python.org/cpython/rev/a7ab09e00dbc。