1

我需要摆脱/Library/Frameworks/Python.framework/Versions/2.7/bin$PATH在 Mac OS X Lion 上的变量。我打开了几个文件,它们在路径中添加了一些内容,但没有找到添加 python 路径的位置。这是几个文件和路径变量的输出:

echo $PATH返回

/opt/local/bin:/opt/local/sbin:/Library/Frameworks/Python.framework/Versions/2.7/bin:/opt/local/bin:/opt/local/sbin:/Users/friedrich/.rvm/gems/ruby-1.9.3-p362/bin:/Users/friedrich/.rvm/gems/ruby-1.9.3-p362@global/bin:/Users/friedrich/.rvm/rubies/ruby-1.9.3-p362/bin:/Users/friedrich/.rvm/bin:/Users/friedrich/.rbenv/shims:/Users/friedrich/.rbenv/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/X11/bin:/usr/local/git/bin

文件/etc/paths/

/usr/local/bin
/usr/bin
/bin
/usr/sbin
/sbin

文件~/.profile

export PATH=$PATH:/usr/local/git/bin:/usr/local/Cellar/todo-txt/2.9/bin

文件~/.bash_profile

export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init -)"

[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function*

# todo.txt script path
source /usr/local/Cellar/todo-txt/2.9/etc/bash_completion.d/todo_completion complete -F _todo t

# MacPorts Installer addition on 2013-03-01_at_21:26:56: adding an appropriate PATH variable for use with MacPorts.
export PATH=/opt/local/bin:/opt/local/sbin:$PATH
# Finished adapting your PATH environment variable for use with MacPorts.

最后一个向路径添加内容的文件似乎正在.bash_profile添加export PATH=/opt/local/bin:/opt/local/sbin:$PATH,所以我需要在此之前添加一些内容的文件。

4

3 回答 3

2

在 OS X 上,还有更多方法可以将内容添加到 PATH 中。

除了/etc/paths文件,还有一个目录/etc/paths.d。在该目录中有与 . 格式相同的文本文件/etc/paths。in 每个文件的行在 in 行之后和 in 内容之前/etc/paths.d添加到您的 PATH中(尽管这取决于 in 的确切内容)。/etc/paths.bash_profile.bash_profile

如果您不需要的 Python 框架路径不在上面,我可以考虑尝试其他两个地方。在您的主目录中还有/private/etc/pathsand /private/etc/paths.d,并且可能还有一个.bashrc文件。

我希望这对你有用。如果没有,那么我将使用的解决方法是将最后一个命令.bash_profile附加/usr/bin到 PATH 的前面。这样,Apple 版本的 Python(链接到 in /usr/bin)将在您的 Python 框架版本之前找到。

于 2013-09-13T21:28:43.187 回答
1

考虑到路径添加到$PATH变量的顺序(因此您要删除第三个元素),您可以在末尾添加如下命令.bash_profile

 export PATH=`echo $PATH | cut -d":" -f1,2,4-`
于 2013-03-03T15:39:23.800 回答
1

您可以使用参数扩展修剪路径的固定部分。将其添加到末尾.bash_profile(或者至少在添加违规路径后处理它的时间足够晚):

PATH=${PATH/\/Library\/Frameworks\/Python.framework\/Versions\/2.7\/bin:}

(所有的反斜杠都是不幸的,但你至少只需要输入一次。)

于 2013-09-13T21:36:47.103 回答