2015-04-06 64 views
2

我想在我的Mac上安裝較舊版本的Python。我目前正在運行2.7.9,但我們的生產環境正在運行2.7.6。 (與gevent和2.7.9存在兼容性問題。)pyenv並安裝某些Python包

我找到了pyenv它允許我安裝各種版本。我用brew安裝了pyenv並安裝了2.7.6。然後我創建了一個與virtualenv中使用2.7.6以下命令:

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

這可能是由於試圖在較新版本的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/2672e30d9095https://hg.python.org/cpython/rev/a7ab09e00dbc

+0

以下是試圖安裝cython的詳細日誌:http://pastebin.com/bQyMP9Tr 好奇的爲什麼它試圖使用'python.exe' – Dustin