Używam virtualenv
, virtualenvwrapper
, zsh
, oh-my-zsh
, terminator, na CrunchBang.
Próbuję wyświetlić nazwę prądu w ten virtualenv
sposób
workon example
(example)...
Wypróbowałem wiele rozwiązań, które wydają się nie działać, oto mój plik .zshrc. Wiem, że nie ma problemu, aby to naprawić, ale nie mogę znaleźć odpowiedniego rozwiązania. Minęło dużo czasu, odkąd ostatni raz używałem Linuksa do programowania Django, zapomniałem, co robiłem.
W tej chwili nie widzę username@crunchbang
, którego wirtualnego używam.
zsh
python
oh-my-zsh
virtualenv
Lynob
źródło
źródło
Odpowiedzi:
Podpowiedź Shell
Wewnątrz
virtualenv
środowiska jest plikiem,bin/activate
. Możesz edytować ten plik, aby zmienić monit na cokolwiek chcesz. W szczególności ta sekcja pliku:Zmienna
PS1
jest specjalną zmienną, która kontroluje wygląd zachęty powłoki. Zmiana jego wartości zmienivirtualenv
monit:Przykład
Utwórz przykładowe środowisko.
Kiedy używasz
virtualenv
, zwykle źródło tego pliku.Po wprowadzeniu powyższej zmiany do zmiennej
PS1
wbin/activate
pliku mój monit jest teraz następujący:Oto oficjalne instrukcje, jak to zrobić .
źródło
activate
pliku? Twój plik działał dla mnie dobrze.virtualenv
działa inaczej niż nic nie widzę, może to.zshrc
problem lubvirtualenvwrapper
? czy można rozwiązać ten problem? Uwaga: mam 2 pliki wykonywalne virualenv, normalnevirtualenv
i czyvirtualenv-2.7
jest to normalne, czy pobrałemvirtualenv
dwa razy? i tak zainstalowałem virtualenv i virualenvwrapper na wypadek, gdyby miało to znaczeniesudo pip install virtualenv
zsh
i to też działa, więc najprawdopodobniej jest to env. kwestia. Na razie zignorujmy konfiguracje 2 virtualenv. Aby debugować, możesz włączyć goset -x
w swojej powłoce, a następnie ponownie uruchomićsource activate
polecenie ponownie. Powinieneś zobaczyćPS1=
linie, w których ustawia się monit.Jeśli używasz,
virtualenvwrapper
azsh
w~/.virtualenvs/
katalogu znajduje się kilka haków zsh , których możesz użyć do dostosowania środowiska. Oto trochę informacji na ich temat. Możesz wymusić aktualizacjęPS1
, która zastąpi bieżącą pracęvirtualenv
w wierszu polecenia powłoki, dodając:do
~/.virtualenvs/postactivate
. Aby usunąć tag podczasdeactivate
dodawania:do
~/.virtualenvs/postdeactivate
Jedyną (prawdopodobną) rzeczą, która powinna to zepsuć, jest pozyskiwanie zasobów
~/.zshrc
podczas pracy wvirtualenv
źródło
Nie musisz edytować swojego
~/.zshrc
.Ponieważ pracujesz z, możesz
virtualenvwrapper
dodać opcje lub zaczepy do$WORKON_HOME/post(de)activate
plików.Jeśli chcesz zobaczyć więcej szczegółów, skonsultuj się tutaj .
Powyższy link pozwala mi zrobić dalej:
W moim przypadku,
$WORKON_HOME=~/Envs
ponieważ zmodyfikowałem tę ścieżkę podczas instalacji virtualenvwrapper; jeśli nie, powinieneś mieć folder~/.virtualenvs
.Otwórz plik
postactivate
znajdujący się w$WORKON_HOME
Dodaj te linie:
Oszczędzaj i ciesz się!
Otrzymasz coś takiego:
(OPCJONALNIE) Jeśli chcesz, możesz edytować
postdeactivate
plik, aby dodać ten wiersz:źródło
Właśnie testowałem to na Ubuntu 14.04 i miałem ten sam problem. Aby to naprawić, dodaj to do .zshrc
lub uruchom to w terminalu
W Mac OS XI musiałem to zrobić
źródło
Jeśli znasz używany motyw, możesz dodać funkcję, aby pobrać aktywowaną nazwę podstawową VIRTUAL_ENV i użyć jej w zmiennej PROMPT w pliku * .zsh-theme znajdującym się w ~ / .oh-my-zsh / themes / i to powinno wystarczyć!
Dla mnie był to domyślny motyw „oh-my-zsh”, tj. „Robbyrussels”, który został skonfigurowany.
Dodanie powyższego kodu wygenerowało następujący wynik:
(kunkka.com) to virtualenv, który właśnie dezaktywowałem.
Po edycji pliku motywu nie zapomnij o źródłowym pliku .zshrc.
źródło