我正在尝试使用pyenv virtualenv
将lektor
安装到新的虚拟机中。我用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
吗?或者这个问题有不同的解决方案吗?
这是一个糟糕的解决方案,但它确实有效。通过取下用于叮当声的垫片并临时移动它(例如mv $PYENV_ROOT/shims/clang ~/Desktop
(,可以安装watchdog
,然后可以将叮当声垫片移回原始位置。一个更好的选择是pyenv
默认为程序的系统版本,如果填充程序没有指向给定环境中的任何位置…
替代解决方案
pyenv
插件pyenv-which-ext
在发现当前环境中不存在公用程序后,通过检查普通$PATH
中是否存在公用程序来处理这类问题。它是通过Homebrew
快速安装的,解决了我的所有问题。