Подтвердить что ты не робот

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.

4b9b3361

Ответ 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