在我的.bash_profile中正确格式化PYTHONPATH

时间:2019-07-02 21:22:27

标签: bash pythonpath

我想在我的.bash_profile中添加一个PYTHONPATH,但想检查一下我是否以正确的方式进行操作。我的.bash_profile(没有PYTHONPATH)如下:

# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/.local/bin:$HOME/bin:/home/user/condor/bin:/home/user/merlin/bin

export PATH

我想添加到我的PYTHONPATH的路径是:

/home/user/merlin/bin/strats/

因此,我更新的.bash_profile(带有PYTHONPATH)将如下所示:

    # .bash_profile

    # Get the aliases and functions
    if [ -f ~/.bashrc ]; then
            . ~/.bashrc
    fi

    # User specific environment and startup programs

    PATH=$PATH:$HOME/.local/bin:$HOME/bin:/home/user/condor/bin:/home/user/merlin/bin

    export PATH

    export PYTHONPATH=/home/user/merlin/bin/strats/

如果我没有正确完成此操作,请有人告诉我如何正确格式化

谢谢

1 个答案:

答案 0 :(得分:2)

如果您希望成为交互式登录Shell中PYTHONPTAH环境变量内容的唯一所有者和决策者,那么您做对了:

〜/ .bash_profile 〜/ .profile

export PYTHONPATH=/home/user/merlin/bin/strats/

如果您想继承PYTHONPATH环境变量的任何系统范围的设置,则应该:

〜/ .bash_profile 〜/ .profile

export PYTHONPATH=$PYTHONPATH:/home/user/merlin/bin/strats/

请注意,如果您正在一个无需登录即可启动新终端的系统(即:在Linux桌面上启动新的xterm),或者在需要该特定环境变量的情况下通过cron运行脚本,.bash_profile将不会执行,因此该脚本将无法使用环境变量。

如本答复注释中所述,您可以选择使用./~profile文件而不是~/.bash_profile来具有与其他shell的其他兼容性。

有些人只是在~/.bashrc中添加所有环境配置。自从您的.bash_profile模板调用~/.bashrc以来,您最终将在交互式登录和非登录Shell中使用了这些环境变量。

对于通过cron运行的脚本,您应直接在脚本本身或cron行上直接获取具有环境配置的文件,因为这不会自动为您完成(crontab会启动非交互式shell来运行脚本,这些脚本不受~/.bashrc~/.bash_profile~/.profile的影响)。