重新启动后,修改/ private / etc / paths并未更改$ PATH

时间:2013-04-02 23:14:42

标签: macos unix path

在这里的rMBP上。我不确定脚本是做什么的。基本上我想将python utils的路径添加到$PATH ...

例如,我酿造了python brew python以获得pip,然后运行pip install flake8。现在

$ which flake8
flake8 not found

$ find / | grep flake8
...
......
/usr/local/share/python/flake8

$ ls -la /usr/local/share/python/
total 32
drwxr-xr-x   6 lust  admin  204 Apr  2 18:15 .
drwxr-xr-x  15 lust  admin  510 Apr  2 18:12 ..
lrwxr-xr-x   1 lust  admin   45 Apr  2 18:13 Extras -> ../../Cellar/python/2.7.3/share/python/Extras
-rwxr-xr-x   1 lust  admin  389 Apr  2 18:15 flake8
-rwxr-xr-x   1 lust  admin  385 Apr  2 18:15 pep8
-rwxr-xr-x   1 lust  admin  405 Apr  2 18:15 pyflakes

好的!

$ cat /private/etc/paths
/usr/bin
/bin
/usr/sbin
/sbin
/usr/local/bin

$ sudo vim /private/etc/paths
$ cat /private/etc/paths
/usr/bin
/bin
/usr/sbin
/sbin
/usr/local/bin
/usr/local/share/python

创建一个新shell,检查$PATH,python不在那里。好的。

重新启动,启动一个新shell,检查$PATH,python 仍然不在那里。

哦,顺便说一句,解决方案要附加export PATH=$PATH:newpath之类的内容,因为我实际上并不关心从命令运行flake8 - 我希望Sublime Text 3的SublimeLinter插件能够实际知道它的位置,而不需要在编辑器的设置中放置一些hacky配置。

1 个答案:

答案 0 :(得分:2)

我发现了问题。作为oh-my-zsh的一部分,zsh设置为在~/.zshrc中设置PATH。我没想到这个。在不使用命令行调用的情况下启动ST3时,它会获得自己的(不正确的)路径环境变量,因此该部分仍然无效。然而,问题的最终解决方案是here