我刚刚安装了pipsi
。我在 Mac OS X Yosemite 上,我正在使用 iTerm 并zsh
通过运行oh-my-zsh
。
我的问题是,我得到以下信息:
~ >>> pipsi
zsh: command not found: pipsi
~ >>> which pipsi
pipsi not found
~ >>> echo $PATH
~/.local/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
~ >>> cd ~/.local/bin
~/.local/bin >>> ls -al
total 8
drwxr-xr-x 3 jon staff 102 Feb 23 19:25 .
drwxr-xr-x 5 jon staff 170 Feb 23 19:25 ..
lrwxr-xr-x 1 jon staff 39 Feb 23 19:25 pipsi -> /Users/me/.local/venvs/pipsi/bin/pipsi
~/.local/bin >>> cat pipsi
#!/Users/jon/.local/venvs/pipsi/bin/python
# -*- coding: utf-8 -*-
import re
import sys
from pipsi import cli
if __name__ == '__main__':
sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
sys.exit(cli())
~/.local/bin >>> pipsi
pipsi not found
我不明白为什么系统不能正确查看~/.local/bin
目录并找到可执行文件pipsi
并运行它。为什么它会报告pipsi not found
?
答案1
根据您问题中提供的信息,您的$PATH
变量设置如下:
~ >>> echo $PATH
~/.local/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
不太确定你在哪里设置$PATH
变量,但我相信在变量上下文中使用~/
不会起作用$PATH
;我不相信~/
会正确扩展到/Users/jon/
。所以我建议调整一下:
~/.local/bin
因此它明确指向你的主目录:
/Users/jon/.local/bin
根据 Gordon Davisson 的评论,另一个好主意/建议是,不知何故你~/.local/bin
用双引号括起来。像这样:
PATH="~/.local/bin:$PATH"
放在双引号中的~/
永远不会扩展为该上下文中的完整主路径。因此,请尝试将其放在外部像这样的引言:
PATH=~/.local/bin:"$PATH"
或者甚至做一些不同的事情,只需使用$HOME
双引号内的变量,如下所示:
PATH="$HOME/.local/bin:$PATH"
再次强调,这一切都取决于$PATH
用户 shell 配置中如何处理实际变量细节。因此,请根据您的具体需求进行调整和修改。