【问题标题】:pyenv and installing certain Python packagespyenv 并安装某些 Python 包
【发布时间】:2016-10-16 17:12:25
【问题描述】:

我正在尝试在我的 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。我遇到的问题是我无法使用 pip 安装某些软件包,例如 Cython 或 M2crypto。我得到 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,这些包可以正常安装。我该如何解决这个问题?

【问题讨论】:

    标签: python cython pyenv


    【解决方案1】:

    这可能是因为尝试在较新版本的 OS X 上运行较旧版本的 Python 2.7.x(如 2.7.6)。如果您使用的是 OS X 10.10,这很可能是问题所在。见http://bugs.python.org/issue21811。您可能需要至少为_osx_support.py 添加补丁。如果没有,请尝试运行 pip-v 并使用结果更新您的问题。

    更新:根据您提供的其他信息,很明显您遇到了 OS X 10.10 支持问题,这些问题已在 2.7.8 中发布的 Issue21811 更改中得到修复。特别是需要configure 更改才能正确解析两位数的次要版本号(10);否则,configure 中的代码会错误地认为您正在运行的是非常旧的 OS X 版本并生成过时的链接指令。您应该向后移植 https://hg.python.org/cpython/rev/2672e30d9095https://hg.python.org/cpython/rev/a7ab09e00dbc

    【讨论】:

    • 这是尝试安装 cython 的详细日志:pastebin.com/bQyMP9Tr 好奇它为什么尝试使用 python.exe
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-04
    相关资源
    最近更新 更多