2013-04-11 12 views
5

Mam podstawowe pytanie końcowe. Właśnie zainstalowałem Canopy dla entuzjastów dla Pythona w systemie Snow Leopard, a (Canopy 64bit) ciągle wyświetla się, gdy pracuję na linii poleceń.Wyświetlanie "Canopy" w linii poleceń

EX: (Zadaszenie 64bit) Macbook ~ [nazwa_użytkownika] $

Próbowałem edycji mój plik .bashrc, bezskutecznie.

bashrc obecnie następująco:

# System-wide .bashrc file for interactive bash(1) shells. 
if [ -z "$PS1" ]; then 
    return 
fi 

PS1="Macbook~\u\$" 
# Make bash check its window size after a process completes 
shopt -s checkwinsize 

-

Czy istnieje jakiś sposób, aby zatrzymać "(Canopy 64bit)" wyświetlanie?

Odpowiedz

1

Jest w .bash_profile. Ale najprawdopodobniej będziesz musiał się wylogować i wrócić, aby to zadziałało, gdy już go usuniesz.

Istnieje opcja podczas instalacji, aby uczynić Canopy domyślnym środowiskiem python. Niestety, wydaje się, że nie ma sposobu, aby to zmienić w ustawieniach aplikacji.

+0

usuwa nie tylko dodatkowy tekst w PS1, ale także zmienia twoją PATH, remo ving katalog skryptów z twoich danych PATH. Musisz więc podać pełną ścieżkę do wszystkich skryptów zainstalowanych przez Canopy, aby je uruchomić. – punchagan

1

Wykomentuj jeśli klauzula w linii 56--70 w

~/Library/Enthought/Canopy_64bit/Użytkownik/bin/aktywować

+4

Lub ustaw zmienną środowiskową 'VIRTUAL_ENV_DISABLE_PROMPT = true' w .bashrc lub .bash_profile. – punchagan

7

Wypracowanie na poprzednich odpowiedzi: Zadaszenie bazuje na 3- system warstw, warstwa 0 zawiera minimalne minimum do działania interfejsu graficznego Canopy; warstwa 1 zawiera wszystkie pakiety "System", które są dystrybuowane z Canopy i mogą być aktualizowane po pojawieniu się nowych wersji; wreszcie warstwa 2 to środowisko "Użytkownik", w którym użytkownicy mogą instalować dowolny pakiet, który im się podoba. W ten sposób, jeśli użytkownik zainstaluje pakiet, który łamie Canopy, zawsze można cofnąć się do warstwy 1, a nawet warstwy 0, aby wykonać reset systemu.

Trzy warstwy są zarządzane przy użyciu popularnej biblioteki, virtualenv. W virtualenv można tworzyć izolowane środowiska Python z własnym zestawem bibliotek. Na przykład, jeśli tworzysz kilka aplikacji, z których każda wymaga konfliktowych pakietów, możesz rozwijać je w oddzielnych "wirtualnych środowiskach". Za pomocą virtualenv Canopy może zrobić to samo: możesz mieć wiele środowisk "User" (chociaż ta funkcja nie jest jeszcze widoczna przez GUI).

Jeden uruchamia wirtualne środowisko używając swojego „aktywować” skrypt, który Zadaszenie robi w linii

~/Library/Enthought/Canopy_64bit/User/bin/activate

jak podkreślił Djon .bash_profile.

Domyślnie virtualenv modyfikuje podpowiedź basha tak, abyś pamiętał, w którym jesteś wirtualnym środowisku, dlatego pojawia się monit "(Canopy 64bit)". Aby się go pozbyć, możesz usunąć linię z .bash_profile, ale oznacza to, że będziesz musiał ręcznie wskazać system na odpowiedni plik wykonywalny Pythona i odpowiednie biblioteki.

rozwiązanie punchagan prostu wyłącza Wartość domyślna virtualenv szybka, pozostawiając samego środowiska wirtualnego Canopy nienaruszone:

VIRTUAL_ENV_DISABLE_PROMPT=true

+0

Czy Canopy instaluje virtualenv gdzieś? A może jest to zachowanie częściowo wirtualne jak w Canopy? virtualenv - help nie działa w mojej instalacji Canopy. –

+0

Canopy używa backportu pakietu 'venv', który jest dostępny w Pythonie 3. Więcej informacji na https://enthought.zendesk.com/entries/21802240-Use-venv-not-virtualenv-with-Canopy-Python – pberkes

1

Aby pozbyć się niechcianych oprócz swojej wierszu bash, blisko osłony a następnie otwarty
~/Library/Enthought/Canopy_64bit/User/bin/activate w edytorze tekstu. Skomentuj linie w następujący sposób (nie są one komentowane w oryginale):

#if [ -z "$VIRTUAL_ENV_DISABLE_PROMPT" ] ; then 
# _OLD_VIRTUAL_PS1="$PS1" 
# if [ "x(Canopy 64bit) " != x ] ; then 
# PS1="(Canopy 64bit) $PS1" 
# else 
# if [ "`basename \"$VIRTUAL_ENV\"`" = "__" ] ; then 
#  # special case for Aspen magic directories 
#  # see http://www.zetadev.com/software/aspen/ 
#  PS1="[`basename \`dirname \"$VIRTUAL_ENV\"\``] $PS1" 
# else 
#  PS1="(`basename \"$VIRTUAL_ENV\"`)$PS1" 
# fi 
# fi 
# export PS1 
#fi 

Teraz zamknij sesję bash i uruchom ją ponownie. Monit będzie teraz normalny.

0

Nie musisz całkowicie komentować tych linii w ~/Library/Enthought/Canopy_64bit/User/bin/activate. Właśnie wykomentowane linię

 #PS1="(Canopz 64bit) $PS1" 

i zastąpił go

PS1="$PS1" 

tak po prostu pozwolić Zadaszenie zrobić to, co ma do zrobienia, ale pozbyć się anoying dodatkowego tekstu w wierszu.

Najlepsza.

0

Edycja skrypt activate pracuje jako odpowiedziało Arkog, ale jeśli po prostu wykomentowane linię mam coś takiego:

-bash: Aktywacja/Users // Library/Enthought/Canopy_64bit/Użytkownik/bin /: linia 60: błąd składni w pobliżu nieoczekiwany token else' -bash: /Users/<username>/Library/Enthought/Canopy_64bit/User/bin/activate: line 60: innego”

Więc stwierdziliśmy, że lepiej po prostu zastąpić ten wiersz z:

$ PS1 = $ PS1

+0

Komentowanie linii jest błędem składni, ponieważ jeśli nie ma żadnego zdania przed innym. Możesz zastąpić go znakiem ":", (instrukcja bash NOP) lub "true". Powinieneś usunąć "$" od początku zamiennika, aby nie powodował on kolejnego błędu składni. –