Terminal: Где находится файл запуска оболочки?
Я следую учебнику под названием Запуск проекта Django 1.4 в правильном направлении, в котором даются указания о том, как использовать virtualenv и virtualenvwrapper, между прочим.
Вот раздел, который гласит:
Если вы используете pip для установки пакетов (и я не понимаю, почему вы этого не сделали), вы можете получить как virtualenv, так и virtualenvwrapper, просто установив последнюю.
$ pip install virtualenvwrapper
После его установки добавьте следующие строки в файл запуска оболочки (.zshrc,.bashrc,.profile и т.д.).
export WORKON_HOME=$HOME/.virtualenvs
export PROJECT_HOME=$HOME/directory-you-do-development-in
source /usr/local/bin/virtualenvwrapper.sh
Перезагрузите файл запуска (например, source.zshrc), и вы готовы к работе.
Я запускаю Mac OSX и не слишком хорошо разбираюсь в терминале. Что именно означает автор под shell start-up file (.zshrc, .bashrc, .profile, etc)
? Где я могу найти этот файл, чтобы добавить эти три строки?
Кроме того, что он подразумевает под reload your start up file (e.g. source .zshrc)
?
Я был бы признателен за подробный ответ, специфичный для OSX.
Ответы
Ответ 1
Вероятно, вы используете bash
, поэтому просто добавьте эти 3 строки в ~/.bash_profile
:
$ cat >> ~/.bash_profile
export WORKON_HOME=$HOME/.virtualenvs
export PROJECT_HOME=$HOME/directory-you-do-development-in
source /usr/local/bin/virtualenvwrapper.sh
^D
где ^D
означает, что вы набираете Control + D (EOF).
Затем либо закройте окно терминала и откройте новый, либо вы можете "перезагрузить" свой .bash_profile
следующим образом:
$ source ~/.bash_profile
Ответ 2
Если вы используете bash, это обычно означает ~/.bash_profile.
В терминале и iTerm новые оболочки являются стандартами входа в систему по умолчанию, поэтому ~/.bashrc вообще не читается. Если инструкции, написанные для какой-либо другой платформы, говорят вам добавить что-то в .bashrc, вам часто приходится добавлять его в .bash_profile.
Если существуют оба файла ~/.profile и ~/.bash_profile, считывается только .bash_profile..profile также читается другими оболочками, но многие из вещей, которые вы добавили в .bash_profile, не будут работать с ними.
Из/usr/share/doc/bash/bash.html:
Когда bash вызывается как интерактивная оболочка входа или как неинтерактивная оболочка с опцией -login, она сначала считывает и выполняет команды из файла /etc/profile, если этот файл существует. После прочтения этого файла он ищет ~/.bash_profile, ~/.bash_login и ~/.profile в этом порядке и читает и выполняет команды из первого, который существует и доступен для чтения.
[...]
Когда запущена интерактивная оболочка, которая не является оболочкой входа, bash считывает и выполняет команды из ~/.bashrc, если этот файл существует.
Ответ 3
Я использую подход, который, как мне кажется, прост в обслуживании.
Он также хорошо работает, если вы иногда используете системы Ubuntu, но я обязательно буду отвечать требованиям OP OSX в своем ответе.
-
Создайте файл .aliases
с вашими псевдонимами в домашнем каталоге, например. ~/.aliases
-
Выполните этот файл из вашего файла .bashrc
(это выполняется каждый раз для нового процесса оболочки) с помощью source ~/.aliases
. Это все, что вам действительно нужно сделать для Ubuntu btw.
-
В вызове OSX .bashrc
из вашего файла ~/.profile
, т.е. ~/.bash_profile
: source ~/.bashrc
Ответ 4
У меня есть Anaconda install, поэтому я добавляю эти 3 строки в ~/.bash_profile
export WORKON_HOME=$HOME/.virtualenvs
export PROJECT_HOME=$HOME/Documents/Python
source /Users/Username/anaconda3/bin/virtualenvwrapper.sh
а затем перезагрузите профиль:
$ source ~/.bash_profile