2013-02-26 17 views
22

Podążam za tutorialem o nazwie Starting a Django 1.4 Project the Right Way, który podaje wskazówki dotyczące używania virtualenv i virtualenvwrapper, między innymi.Terminal: Gdzie jest plik startowy powłoki?

Jest to sekcja, która brzmi:

Jeśli używasz pip zainstalować pakiety (i nie widzę dlaczego nie), można uzyskać zarówno virtualenv i virtualenvwrapper po prostu zainstalowaniu drugi.

$ pip install virtualenvwrapper 

Po jego zainstalowaniu, należy dodać następujące linie do pliku startowego twojej powłoki (.zshrc, .bashrc, .profile, etc).

export WORKON_HOME=$HOME/.virtualenvs 
    export PROJECT_HOME=$HOME/directory-you-do-development-in 
    source /usr/local/bin/virtualenvwrapper.sh 

Załaduj ponownie plik startowy (np. Źródło .zshrc) i jesteś gotowy do pracy.

Używam Mac OSX i nie znam się dobrze na terminalu. Co dokładnie oznacza autor przez shell's start-up file (.zshrc, .bashrc, .profile, etc)? Gdzie znajdę ten plik, aby móc dodać te trzy linie?

Co ponadto ma na myśli reload your start up file (e.g. source .zshrc)?

Byłbym wdzięczny za szczegółową odpowiedź, specyficzną dla OSX.

Odpowiedz

28

Pewnie użyciu bash więc tylko dodać te 3 linie do ~/.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 

gdzie ^D oznacza wpiszesz Kontrola + D (EOF).

następnie albo zamknąć okno terminala i otworzyć nowe, czy można „odświeżyć” swój .bash_profile tak:

$ source ~/.bash_profile 
+1

Niewielkie pytanie: '.profile' może być odczytane przez wiele różnych powłok, z których niektóre mogą nie rozpoznawać' source' jako bardziej czytelnego synonimu '.'. Użyj './usr/local/bin/virtualenwrapper.sh' zamiast dla trzeciej linii. Lub wstaw te trzy linie do '.bash_profile'. – chepner

+0

A jeśli .bash_profile już istnieje, plik .profile nie jest w ogóle czytany. – user495470

+0

Dzięki za komentarze - zaktualizowałem odpowiedź, aby jawnie używać '.bash_profile' zamiast' .profile'. –

4

Jeśli używasz bash, to zwykle oznacza, ~/.bash_profile.

W Terminalu i iTerm nowe powłoki są domyślnie powłokami logowania, więc ~/.bashrc nie jest w ogóle czytane. Jeśli instrukcje napisane dla innej platformy mówią o dodawaniu czegoś do .bashrc, często musisz dodać je do .bash_profile.

Jeśli istnieją oba profile ~/.profile i ~/.bash_profile, odczytywany jest tylko .bash_profile. .profile jest również czytane przez inne powłoki, ale wiele rzeczy, które dodasz do .bash_profile, nie będzie z nimi działać.

Od /usr/share/doc/bash/bash.html:

Gdy bash wywoływany jest jako interaktywny logowania muszli lub jako non-interaktywnej powłoki z opcją --login, najpierw czyta i wykonuje polecenia z pliku/etc/profile, jeśli ten plik istnieje. Po odczytaniu tego pliku szuka ~/.bash_profile, ~/.bash_login, i ~/.profile, w tej kolejności, i czyta i wykonuje polecenia od pierwszego, które istnieje i można je odczytać.

[...]

Gdy zostanie uruchomiona interaktywna powłoka, która nie jest powłoką logowania, bash czyta i wykonuje polecenia z ~/.bashrc, jeśli ten plik istnieje.

0

Używam podejścia, które uważam za łatwe do utrzymania. Działa to również dobrze, jeśli czasami używasz systemów Ubuntu, jednak w mojej odpowiedzi na pewno spełnię wymagania OSX dotyczące PO.

  1. Utwórz plik .aliases ze swoim alias (y) w swoim katalogu domowym, np ~/.aliases

  2. Wykonaj ten plik z pliku .bashrc (jest to wykonywane za każdym razem dla nowego procesu powłoki) z source ~/.aliases. To wszystko, co naprawdę trzeba zrobić dla Ubuntu btw.

  3. na OSX rozmowy .bashrc z pliku ~/.profile, to znaczy mieć ~/.bash_profile zawierać: source ~/.bashrc

1

mam Anaconda zainstalować, więc dodam te 3 linie do ~/.bash_profile

export WORKON_HOME=$HOME/.virtualenvs 
export PROJECT_HOME=$HOME/Documents/Python 
source /Users/Username/anaconda3/bin/virtualenvwrapper.sh 

a następnie załaduj ponownie profil:

$ source ~/.bash_profile 
Powiązane problemy