Python 在终端中设置路径

Python 在终端中设置路径,python,path,homebrew,enthought,Python,Path,Homebrew,Enthought,为了安装Macvim,我正在Mac上安装自制软件。安装Homebrew后,系统会提示我运行brew doctor,这反过来会生成许多警告。我已经解决了其中的几个问题,但仍停留在两个问题上: 警告:在您的路径中发现了Enthough Python。 这可能会导致生成问题,因为此软件安装了自己的 将iconv和libxml2的副本复制到由 其他构建系统 我不确定我是应该忽略这一点,还是应该寻找一种卸载Enthough Python的方法 警告:/usr/bin出现在/usr/local/bin之前

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

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

我不确定我是应该忽略这一点,还是应该寻找一种卸载Enthough 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 export PATH=“/usr/local/bin:$PATH”>>~/.bash\u profile

我跑了

echo export PATH=“/usr/local/bin:$PATH”>>~/.bash\u profile

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

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
好的,我在这里找到了第二个问题的答案:

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


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

除非您有什么需要,否则我会删除Enthound版本的Python。

要解决这两个问题,请编辑您的
~/.bash\u配置文件
文件
/usr/bin出现在/usr/local/bin
警告之前: 此警告告诉您,
$PATH
环境变量将
/usr/bin
列为比
/usr/local/bin
更高的优先级,我认为这是home brew安装软件包的默认位置

如果忽略这一点,则这意味着如果您在先前安装了“home brew”程序(不使用“home brew”)后,使用该程序安装或升级到其他位置,则shell可能会使用较旧的副本而不是较新的“home brew”安装版本调用命令

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

通过在Terminal.app中键入,您可以查看
~/.bash\u配置文件的内容:

$ 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
请注意,EnThound的评论表明,他们在同一目录(
$HOME
)中的名为
.bash\u profile.pysave的副本中保留了原始的
~/.bash\u profile
)。如果您想查看该文件,请使用
cat
或文本编辑器将其签出。如果您决定恢复到它,可以通过删除
~/.bash\u配置文件
并将
.bash\u profile.pysave
重命名为
.bash\u配置文件
来恢复。(这对我来说不是一个选项,因为我必须在过去第二次安装EnThound的发行版(可能是在发行版的顶部),所以我的
.bash\u profile.pysave
仍然包含EnThound的配置,而我的
~/.bash\u profile.列出了EnThound配置的两个副本。)

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

如果仔细查看上面的示例,您会发现
/usr/local/bin
在列表中出现两次(!)
,一次出现在第三位,一次出现在倒数第二位
/usr/bin
发生在它们之间,但是
brew doctor
的解析器检测到问题(这可能是一个只检查尾部
/usr/local/bin
brew doctor
错误,但几乎可以肯定是一个狂热的错误,因为他们在我的
$PATH
定义中留下了两个
/usr/local/bin
。如果你没有看到
/usr/local/bin/
两次,那么可能是因为我有h。)广告在我这边安装了两次。)

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

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

方法1-(“快速简便”版本): A) 重新定义
$PATH
变量,将此命令粘贴到终端: (这会将(
>
操作符)回显的字符串附加到
~/.bash\u配置文件的末尾。如果使用此命令,您仍需要编辑~/.bash\u配置文件,以便稍后删除这些内容)

单击并向下滚动到步骤3,以了解有关此特定命令的更多信息

或者,您可以将
cd
放入
$HOME
目录中,并将上述命令中的字符串手动添加到您的
.bash\u配置文件中,如下所示,以删除Enthound的配置

B) 要禁用Enthound Python发行版,请编辑~/.bash_配置文件: 更改到您的主目录:

$ cd $HOME
要在例如TextEdit中编辑文件,请执行以下操作:

$ open -a "TextEdit" .bash_profile
找到以下两行:

PATH="/Library/Frameworks/Python.framework/Versions/Current/bin:${PATH}"
export PATH
并在每行前面放置一个
#
注释,将其注释掉。然后保存文件

(如果你有计划的话
$ open -a "TextEdit" .bash_profile
PATH="/Library/Frameworks/Python.framework/Versions/Current/bin:${PATH}"
export PATH
$ vim ~/.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
# export PATH="/usr/local/bin:/usr/local/sbin:~/bin:$PATH"
export PATH="/usr/local/bin:/usr/local/sbin:~/bin:$PATH"
$ source .bash_profile
/usr/local/bin:/usr/local/sbin:~/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/texbin