无法在pyenv virtualenv中安装lektor:这些(其他)Python版本中存在`clang'

时间:2018-07-24 21:09:21

标签: pip clang pyenv python-watchdog

我正在尝试使用lektorpyenv virtualenv安装到新的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

我可以手动将垫片设置为指向usr/bin吗?还是对此问题有不同的解决方案?

1 个答案:

答案 0 :(得分:0)

这是一个烂解决方案,但确实可以。通过取下垫片的c片并暂时移动它(例如mv $PYENV_ROOT/shims/clang ~/Desktop),可以安装watchdog,然后可以将c片垫片移回到原始位置。如果补片在给定环境中没有指向任何地方,那么更好的选择是让pyenv默认使用程序的系统版本。

替代解决方案

pyenv插件pyenv-which-ext通过检查正常$PATH中是否存在实用程序,并在当前环境中不存在这些实用程序,来解决此类问题。通过Homebrew快速安装,解决了我所有的问题。