无法在 pyenv virtualenv 中安装 lektor:`clang' 存在于这些(其他)Python 版本中
Cannot install lektor in pyenv virtualenv: `clang' exists in these (other) Python versions
我正在尝试使用 pyenv virtualenv
将 lektor
安装到新的 virtualenv 中。我使用 Python 3.7.0 创建一个新的 virtualenv 没问题,但是当我尝试 pip install lektor
时,我遇到构建失败 watchdog
和以下错误消息:
pyenv: clang: command not found
The `clang' command exists in these Python versions:
anaconda3-5.0.0
error: command 'clang' failed with exit status 127
我了解到anaconda3版本有clang
,但我也安装了/usr/bin
的版本。 which -a clang
的输出是:
$PYENV_ROOT/shims/clang
/usr/bin/clang
我可以手动设置 shim 指向 usr/bin
吗?或者这个问题有不同的解决方案吗?
这是一个糟糕的解决方案,但它确实有效。把clang的shim拿过来临时移动一下(比如mv $PYENV_ROOT/shims/clang ~/Desktop
),可以安装watchdog
,然后把clang的shim移回原来的位置。一个更好的选择是 pyenv
如果 shim 没有指向给定环境中的任何地方,则默认为程序的系统版本…
备选方案
pyenv
插件 pyenv-which-ext
通过在正常 $PATH
中检查实用程序是否存在来解决这个 class 问题存在于当前环境中。通过 Homebrew
快速安装,解决了我所有的问题。
我正在尝试使用 pyenv virtualenv
将 lektor
安装到新的 virtualenv 中。我使用 Python 3.7.0 创建一个新的 virtualenv 没问题,但是当我尝试 pip install lektor
时,我遇到构建失败 watchdog
和以下错误消息:
pyenv: clang: command not found
The `clang' command exists in these Python versions:
anaconda3-5.0.0
error: command 'clang' failed with exit status 127
我了解到anaconda3版本有clang
,但我也安装了/usr/bin
的版本。 which -a clang
的输出是:
$PYENV_ROOT/shims/clang
/usr/bin/clang
我可以手动设置 shim 指向 usr/bin
吗?或者这个问题有不同的解决方案吗?
这是一个糟糕的解决方案,但它确实有效。把clang的shim拿过来临时移动一下(比如mv $PYENV_ROOT/shims/clang ~/Desktop
),可以安装watchdog
,然后把clang的shim移回原来的位置。一个更好的选择是 pyenv
如果 shim 没有指向给定环境中的任何地方,则默认为程序的系统版本…
备选方案
pyenv
插件 pyenv-which-ext
通过在正常 $PATH
中检查实用程序是否存在来解决这个 class 问题存在于当前环境中。通过 Homebrew
快速安装,解决了我所有的问题。