Правильное форматирование PYTHONPATH в моем .bash_profile - PullRequest
1 голос
/ 03 июля 2019

Я хотел бы добавить PYTHONPATH к моему .bash_profile, но хотел бы проверить, правильно ли я делаю это.Мой .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 Ответ

2 голосов
/ 03 июля 2019

Если вы хотите быть единственным владельцем и лицом, принимающим решения в отношении PYTHONPTAH содержимого переменных среды в ваших интерактивных оболочках входа в систему, вы делаете это правильно:

~ / .bash_profile или ~ / .profile

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

Если вы хотите унаследовать какой-либо общесистемный параметр для переменной среды PYTHONPATH, вам следует:

~ / .bash_profile или ~ / .profile

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

Имейте в виду, что если вы работаете в системе, где вы можете запускать новые терминалы без входа в систему (т. Е. Запуск нового xterm на рабочем столе Linux), или в случае, если вам нужна эта конкретная переменная среды для запуска сценарий через cron, .bash_profile не будет выполнен, и поэтому переменная окружения не будет доступна этому сценарию.

Как уже говорилось в комментариях к этому ответу, вы можете использовать файл ./~profile вместо ~/.bash_profile для дополнительной совместимости с другими оболочками.

Некоторые люди просто добавляют всю конфигурацию среды в ~/.bashrc. Так как ваш .bash_profile шаблонный вызов ~/.bashrc, вы в конечном итоге получите эти переменные среды, доступные в интерактивном входе и без входа в систему.

Для сценариев, запускаемых через cron, вы должны напрямую указать исходный файл, в котором находится ваша конфигурация среды, в самом сценарии или в строке cron, поскольку это не будет сделано автоматически для вас (crontab запускает неинтерактивные оболочки для запуска сценарии и на них не влияют ~/.bashrc, ~/.bash_profile или ~/.profile).

...