tmux anaconda'nın farklı bir python kaynağı kullanmasına neden oluyor


12

Tamam, bu yüzden anakonda ortamımdayım ve hangi python'u çalıştırdım. alırım

/home/comp/anaconda3/envs/env1/bin/python

Şimdi eğer tmux'u başlatırsam, kaynak etkinleştirmek env1'i çalıştırırsam, o zaman hangi python'u alırım

/home/comp/anaconda3/bin/python

çevremi etkinleştirmiş olmama rağmen. Anaconda'nın tmux içinde aynı yolu görmesini nasıl sağlayabilirim?

Yanıtlar:


15

Çözüm, conda ortamını devre dışı bırakmak, sonra tmux'u başlatmak, sonra tmux içindeki ortamı yeniden etkinleştirmek gibi görünüyor.


2
Tuhaf bir çözüm ama işe yarıyor ...
— LYu

Gerçekten tuhaf.
— ZirconCode

2
Bu konuda benim için çalışan bir çözüm, ancak gerçekten ideal çözümden çok uzak
— johnchase

2

Bir Tmux seansına başladıktan sonra (conda aktif bir env'ye sahip olmadan) bana aşağıdakiler olur.

Tmux oturumu içinde ilk yaptığımda:

conda activate myEnv

alırım

CommandNotFoundError: Your shell has not been properly configured to use 'conda activate'.
To initialize your shell, run

    $ conda init <SHELL_NAME>

Currently supported shells are:
  - bash
  - fish
  - tcsh
  - xonsh
  - zsh
  - powershell

See 'conda init --help' for more information and options.

IMPORTANT: You may need to close and restart your shell after running 'conda init'.

Bunun yerine ben:

source deactivate
conda activate myEnv

Her şey yolunda gidiyor. which pythondoğru yolu gösterir.


2

Bu davranış, ~/.profileyerine TMux kaynağı nedeniyle oluşur ~/.bashrc. Benim ~/.profilebu:

# if running bash
if [ -n "$BASH_VERSION" ]; then
    # include .bashrc if it exists
    if [ -f "$HOME/.bashrc" ]; then
    . "$HOME/.bashrc"
    fi
fi

# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
    PATH="$HOME/bin:$PATH"
fi

# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/.local/bin" ] ; then
    PATH="$HOME/.local/bin:$PATH"
fi

Bunu görebilirsiniz ilk ~/.bashrc kaynaklı ve daha sonra ~/bin ve ~/.local/binedilir de başa . Kendimi tecrübe ettiğim için bu condahickup'a neden oluyor.

Çözüm, PATH'ı manipüle eden iki bloğu yorumlamak olacaktır ~/.profile.

Edit (2019/09/24): Daha da iyisi, TMux'u bir giriş kabuğu değil, sadece normal bir kabuk oluşturacak şekilde yapılandırmak gibi görünüyor. Bağlantılı sorunun cevaplarına bakın.


1

Koşu:

conda activate env1

Onun yerine:

source activate env1

İçimde tmux benim için çalıştı.


1

Ben tmux sadece rc değil, her zaman kabuk için profili arayacağını görüyorum. Yani benim gibi bash kullanıyorsanız, path_helper çağrısı olacak / etc / profile çağırır.

Bunu düzeltmek için şu şekilde değiştirin /etc/profile:

if [[ -z $TMUX ]] && [ -x /usr/libexec/path_helper ]; then
        eval `/usr/libexec/path_helper -s`
fi

Eğer bash kullanıyorsanız, aynı zamanda herhangi bir değişiklik export PATH=$PATH:/foode .bashrckarşı

if [[ -z $TMUX ]]; then
  export PATH=$PATH:/foo
fi

daha sonra terminali yeniden başlatın (örneğin Iterm). Her şey iyi olmalı!


0
nano ~/.bash_profile

Aşağıdaki satırları ekleyin:

source deactivate env1
source activate env1

benim için çalıştı.


0

Aynı sorunu yaşadım, ancak Conda'yı her yüklediğimde devre dışı bırakmayı ve etkinleştirmeyi içerdiğinden çözümlerin hiçbirini gerçekten sevmedim tmux. Bunun yerine, aşağıdakilere aşağıdakileri ekledim .tmux.conf:

ÖNEMLİ DÜZENLEME: Bu kod benim için çalışıyor, çünkü şu anda bir zsh kabuğu çalıştırıyorum ve burası ayarlarımın saklandığı yer. Standart kabuğunuz farklı olabilir, kabuk konumunuzu bulmak için komutu kullanın echo "$SHELL"ve cevabımdaki /bin/zshkendi kabuk yolunuzla değiştirin.

set -g default-command "/bin/zsh"

Bittiğinde, sadece .tmux.confdosyanızı kaynak ve değişiklikler etkinleştirilmelidir. Bu, Conda dahil olmak üzere tmuxsahip olduğunuz ayarları yüklemenize izin vermelidir .bash_profile.


Lütfen kabuğunun olduğunu düşünmeyin zsh(bahsetmez). Eğer onsuz insanlar cevabınızı kullanırsa, sorunları olabilir. Belki de sorunu neden çözdüğü, var olan gibi -g, varsayılan değerin ne yaptığı, vb. Gibi biraz daha açıklamalısınız ...
— Zip

İyi bir nokta, başka kabukları olan insanlar hakkında hiç düşünmedim. Bunu açıklığa kavuşturmak için cevabı değiştireceğim.
— Siddarth Raghuvanshi
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.