PATH =:$ PATH和PATH =" $ PATH:"之间有什么不同?和其他出口行

时间:2018-03-09 12:14:37

标签: path export virtualenv environment conda

关于将PATH添加到环境中的以下几行,我有一个问题。

export PATH=/usr/loca/cuda/bin:$PATH
export PATH=/usr/local/cuda-9.1/bin${PATH:+:${PATH}}
export PATH="/home/ics_vr/anaconda3/bin:$PATH"
export PATH="$PATH:/home/user/anaconda3/bin"

无论每个导出行中的路径内容如何,​​我的第一个问题是如何区分以导出PATH = 开头的行?例如语法及其功能,无论我在thoes行中使用的变量。

其次,我看到很多人使用#来评论开/关来切换这些路径,但这不方便。是否有任何工会方式来实现所有,而不是每次都评论出口线?

这很方便,因为人们想要使用系统python作为默认设置,但如果路径未正确解决,anaconda python解释器将默认设置。我们需要一种默认为系统python解释器的方法,当我需要anaconda时,我将使用

source activate ENV_I_BUILD

感谢您的时间和帮助。我非常感激。

1 个答案:

答案 0 :(得分:1)

环境变量PATH是一个冒号分隔的文件夹路径列表,用于查找可执行文件。

文件夹路径在此变量中的位置非常重要。实际上,如果你从命令行调用一个程序,首先会在第一个文件夹路径中搜索可执行文件,然后如果它不存在第二个文件夹,依此类推...

Anaconda附带python安装(2.x或3.x)。 如果您导出:

export PATH="/home/ics_vr/anaconda3/bin:$PATH"

然后在" / home / ics_vr / anaconda3 / bin / anaconda3"将优先使用。因此,如果您希望默认保留系统python,则可能需要使用:

export PATH="$PATH:/path/to/whatever/conda"

source activate ... 预先PATH中的环境箱文件夹。因此,如果你激活一个环境,系统python将被conda env的python取代。

至于两行:

export PATH=/usr/loca/cuda/bin:$PATH
export PATH=/usr/local/cuda-9.1/bin${PATH:+:${PATH}}

您必须先在PATH变量中确定您想要的可执行文件。

有关信息,您可以在一行中设置PATH中的多个文件夹:

export PATH="$PATH:/usr/loca/cuda/bin:/home/ics_vr/anaconda3/bin:/my/personal/bin"

如果您不想丢失例如" / usr / bin"中列出的基本命令,请不要忘记在导出新PATH时添加PATH变量中已有的内容。或" / usr / local / bin"。