Ok, więc jestem w środowisku anakondy i uruchomiłem który python. dostaję
/home/comp/anaconda3/envs/env1/bin/python
Teraz, jeśli uruchomię Tmux, a następnie uruchom źródło aktywuj env1, a następnie python, który otrzymuję
/home/comp/anaconda3/bin/python
mimo że mam aktywowane moje środowisko. Jak sprawić, by anakonda widziała tę samą ścieżkę w tmuxie?
Po rozpoczęciu sesji Tmux przydarza mi się (bez conda z aktywną env).
Kiedy pierwszy raz robię w sesji Tmux:
dostaję
Jeśli zamiast tego:
Wszystko działa dobrze.
which python
wskazuje prawidłową ścieżkę.źródło
Takie zachowanie jest spowodowane przez pozyskiwanie TMux
~/.profile
zamiast~/.bashrc
. Moje~/.profile
jest to:Widać, że pierwszy
~/.bashrc
jest pozyskiwane, a potem~/bin
i~/.local/bin
są poprzedzany . Jak samconda
się przekonałem , powoduje to czkawkę.Rozwiązaniem byłoby skomentowanie dwóch bloków manipulujących PATH
~/.profile
.Edycja (2019/09/24): Wydaje się, że jeszcze lepszym rozwiązaniem jest skonfigurowanie TMux tak, aby nie spawnował powłoki logowania, ale tylko normalną. Zobacz odpowiedzi na powiązane pytanie.
źródło
Bieganie:
Zamiast:
W środku Tmux pracował dla mnie.
źródło
Uważam, że tmux zawsze wywoła profil dla twojej powłoki, nie tylko rc. Więc jeśli używasz bash tak jak ja, to wywoła / etc / profile, który będzie miał wywołanie path_helper.
Aby to naprawić, zmień
/etc/profile
na:Jeśli używasz bash, również zmienić każdy
export PATH=$PATH:/foo
w.bashrc
celunastępnie ponownie uruchom terminal (na przykład Iterm). Wszystko powinno być dobrze!
źródło
Dodaj następujące wiersze:
pracował dla mnie.
źródło
Miałem ten sam problem, ale naprawdę nie podobało mi się żadne z rozwiązań, ponieważ dotyczyły one dezaktywacji i aktywacji Condy za każdym razem, gdy ładuję do Tmux. Zamiast tego dodałem to, co poniżej
.tmux.conf
:Po zakończeniu po prostu zasób swój plik .tmux.conf, a zmiany powinny zostać aktywowane. Powinno to pozwolić Tmuxowi załadować dowolne ustawienia, w
.bash_profile
tym Condę.źródło