在终端设置路径

2024-07-05 11:59:38 发布

您现在位置:Python中文网/ 问答频道 /正文

为了安装Macvim,我正在Mac上安装自制程序。安装Homebrew后,系统会提示我运行brew doctor,这会生成许多警告。我已经解决了其中的几个问题,但仍有两个问题:

警告:在你的路上发现了热情的Python。 这可能会导致生成问题,因为此软件安装了自己的 将iconv和libxml2复制到由 其他构建系统。

我不确定是否应该忽略这一点,或者寻找一种卸载热情高涨的Python的方法。

警告:/usr/bin出现在/usr/local/bin之前 这意味着将使用系统提供的程序而不是那些 自制。两条路径上都有以下工具:

git
git-cvsserver
git-receive-pack
git-shell
git-upload-archive
git-upload-pack

考虑设置路径,使/usr/local/bin 在/usr/bin之前发生。这里有一行: echo导出路径=“/usr/local/bin:$PATH”>;gt;~/.bash_配置文件

我跑了

echo导出路径=“/usr/local/bin:$PATH”>;gt;~/.bash_配置文件

好几次但仍然收到同样的警告。这是我的路

nngrey$ echo $PATH
/Users/nngrey/.rvm/gems/ruby-2.0.0-p247@railstutorial_rails_4_0/bin:/Users/nngrey/.rvm/gems/ruby-2.0.0-p247@global/bin:/Users/nngrey/.rvm/rubies/ruby-2.0.0-p247/bin:/Users/nngrey/.rvm/bin:/Library/Frameworks/Python.framework/Versions/Current/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/git/bin:/Users/nngrey/bin

好吧,我在这里找到了第二个问题的答案:How to modify PATH for Homebrew?

我只需要重启终端。不过,仍然不确定如何处理Python。

如有任何建议,将不胜感激。谢谢


Tags: pathgitechogt路径警告binusr
2条回答

要解决这两个问题:编辑您的~/.bash_profile文件

/usr/bin occurs before /usr/local/bin警告:

此警告告诉您,$PATH环境变量将/usr/bin列为高于/usr/local/bin的优先级,我认为这是home brew安装包的默认位置。

如果忽略这一点,则意味着如果在以前安装了某个程序(不使用“自制”)到其他位置后,使用“自制”安装或升级某个程序,则外壳程序可能会使用较旧的副本而不是较新的“自制”安装版本来调用命令。

变量$PATH可能是最重要的Unix Shell环境变量(您可以键入env在Shell中列出环境变量),因为它定义了计算机在寻找要执行的程序时搜索的目录的顺序。首先指定最高优先级的路径名。

您可以通过在Terminal.app中键入以下内容来查看~/.bash_profile的内容:

$ cat ~/.bash_profile

记住:不要键入$,它只是指示终端提示。

它应该打印出如下内容:

# Setting PATH for EPD_free-7.3-2
# The original version is saved in .bash_profile.pysave
PATH="/Library/Frameworks/Python.framework/Versions/Current/bin:${PATH}"
export PATH

注意,enthough的注释表示它们将原始~/.bash_profile保存在同一目录($HOME)中名为.bash_profile.pysave的副本中。如果您想查看该文件,请使用cat或文本编辑器将其签出。如果决定恢复到该文件,可以通过删除~/.bash_profile文件并将.bash_profile.pysave重命名为.bash_profile来执行此操作。(这对我来说不是一个选项,因为我必须在过去第二次安装enthough的发行版(可能是在它上面),所以我的.bash_profile.pysave仍然包含enthough的配置,我的~/.bash_profile.列出了enthough配置的两个副本。)

这是将$PATHenv变量设置为${PATH}的热分布。要显示${PATH}变量的内容,让我们在shell中输入echo $PATH。它应该显示enthough自己的目录具有第一优先级(因为它们排在第一位):

$ echo $PATH
/Library/Frameworks/Python.framework/Versions/Current/bin:/Library/Frameworks/Python.framework/Versions/Current/bin:/usr/local/bin:/usr/local/sbin:~/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/texbin

如果仔细观察上面的示例,可以看到列表(!)中的/usr/local/bin出现了两次,一次在第三个位置,一次在第二个到最后一个位置。/usr/bin发生在它们之间,但是brew doctor的解析器正在检测一个问题(这可能是一个brew doctor错误,它只检查后面的/usr/local/bin,但是几乎肯定有一个狂热的错误,因为它们在那里留下了我的$PATH定义和两个/usr/local/bin如果你看不到/usr/local/bin/两次,那可能是因为我可能已经安装了两次热情的终端。)。

因此,尽管这里可能没有真正的问题,brew doctor仍然这么认为,而且我们还需要删除enthough的最高优先级目录,因为如果我们想在将来使用“自制”获得不同的Python发行版,这些条目可能会干扰。

shell将按照从左到右的顺序查看$PATH变量中的这些位置,以便执行命令等。 请记住,路径由冒号(:)分隔,并按从左到右的降序优先级列出,最高优先级优先。

方法1-(“快速简便”版本):

A) 重新定义$PATH变量,将此命令粘贴到终端:

$ echo 'export PATH="/usr/local/bin:/usr/local/sbin:~/bin:$PATH"' >> ~/.bash_profile

(这将把>>运算符)回显的字符串追加到~/.bash_profile文件的末尾。如果使用此命令,则仍需要编辑~/.bash_配置文件,以便稍后删除那些令人兴奋的内容)

单击here并向下滚动到步骤3以获取有关此特定命令的详细信息。

或者您可以将cd添加到$HOME目录中,并将上面命令中的字符串手动添加到您的.bash_profile中,如下所示,以删除enthough的配置。

B) 要禁用热情的Python发行版,请编辑~/.bash_配置文件:

换成你的主目录:

$ cd $HOME

例如,要在TextEdit中编辑文件:

$ open -a "TextEdit" .bash_profile

找到这两行:

PATH="/Library/Frameworks/Python.framework/Versions/Current/bin:${PATH}"
export PATH

并在每行前面放置一个#来注释它们。然后保存文件。

(如果您计划不再使用热情分布,您可以删除这些行和其他注释,而不是将它们注释掉)

方法2-使用文本编辑器编辑文件(并解决这两个问题)

(下面的解释假设对vim编辑器不熟悉)

$ vim ~/.bash_profile

如果您没有写权限,则可能无法更改~/.bash_profile文件。如果是,请退出vim(ESC,然后键入:q),并通过在上面的vim命令前面加上sudo和空格将其更改为超级用户。您可以稍后在shell中键入exit退出sudo(“超级用户do”)。

当vim第一次打开时,您将看到命令模式,在这种模式下,输入根本不会更改文件内容,而是将命令添加到窗口底部的提示中(例如:q退出,或:w写入(保存)更改)。

在vim中,可以使用箭头键(或HJKL键)移动。找到要编辑的行后,按I键进入-INSERT-模式,并在光标前插入字符(在命令模式下按A键也将退出命令模式,但在光标后插入文本)。

如果你认为你将来可能想使用热情分布,你可以在每行的开头加上一个注释,这样:

# Setting PATH for EPD_free-7.3-2
# The original version is saved in .bash_profile.pysave
# PATH="/Library/Frameworks/Python.framework/Versions/Current/bin:${PATH}"
# export PATH
# export PATH="/usr/local/bin:/usr/local/sbin:~/bin:$PATH"

如果您没有计划使用enthough发行版,或者您已经卸载了它,只需从~/.bash_配置文件中删除以上所有行。

要为$PATH环境变量声明新定义,请在下面添加此行:

export PATH="/usr/local/bin:/usr/local/sbin:~/bin:$PATH"

编辑完文件后,按ESC退出-INSERT-模式并返回命令模式。然后键入:wq来编写更改并退出vim编辑器。你将被送回炮弹。

要完成此操作,请输入以下命令来获取新保存的~/.bash_profile

$ source .bash_profile

如果您只注释掉了热情行,那么您将能够返回到您的.bash_profile,并通过取消注释这两行来再次启用热情分布。

现在运行brew doctor,您应该可以很好地运行了。如果在没有警告的情况下无法运行,请关闭终端并重新打开,然后重试。

运行echo $PATH现在应该显示:

/usr/local/bin:/usr/local/sbin:~/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/texbin

除非您需要它,否则我将删除enthough版本的Python。

相关问题 更多 >