उबंटू डेस्कटॉप शॉर्टकट में कोंडा पर्यावरण को सक्रिय करें

Jan 29 2020

मेरे पास एक डेस्कटॉप शॉर्टकट है जिसमें निम्न Execपंक्ति है:

Exec=conda activate my_env && my_command

हालाँकि, यह शॉर्टकट लॉन्च नहीं होता है। इसे डीबग करने का प्रयास करने के लिए, मैंने उसी कमांड को बैश प्रॉम्प्ट के बिना चलाया .bashrc(क्योंकि .bashrcडेस्कटॉप शॉर्टकट्स के लिए इसे सॉर्ट नहीं किया गया है)

user@pc:~$ bash --norc bash-4.4$ conda activate my_env

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'.

समस्या यह है कि कॉन्डा यह नहीं पता लगाता है कि यह पहले से ही शुरू हो चुका है। conda initमें एक प्रविष्टि बनाता है .bashrc:

# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/home/user/anaconda/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then eval "$__conda_setup"
else
    if [ -f "/home/user/anaconda/etc/profile.d/conda.sh" ]; then
        . "/home/user/anaconda/etc/profile.d/conda.sh"
    else
        export PATH="/home/user/anaconda/bin:$PATH"
    fi
fi
unset __conda_setup
# <<< conda initialize <<<

मैंने इस प्रविष्टि को अपने पास कॉपी करने की कोशिश की .profileऔर इसमें फिर से शामिल हो गया, लेकिन यह अभी भी काम नहीं किया। conda initअंदर की बजाय .profileसिर्फ उपरोक्त प्रविष्टि को डुप्लिकेट करने की कोशिश करना .bashrc

क्या एक लिनक्स डेस्कटॉप शॉर्टकट से एक कोंडा पर्यावरण को सक्रिय करना संभव है?

जवाब

lebedov Apr 24 2020 at 22:32

यह मानते हुए कि कोंडा आरंभीकरण लाइनें पहले से ही किसी की .bashrcफ़ाइल में हैं, कोई एक नया वातावरण शुरू करके एक सक्रिय वातावरण में एक कमांड चला सकता है:

Exec=bash -c "source ~/.bashrc && conda activate matlab_env && matlab"