8

I have an EC2 instance running Ubuntu 18.04. I have a python Flask server implemented inside it, and I want it to start running as soon as I boot. I would like to do this with /etc/rc.local/.

When I login and run the following in order, the conda environment activates, and therefore my Flask server runs well.

cd ~
cd pult
conda activate pult
export FLASK_APP=hello.py
flask run

So this is what I wrote in /etc/rc.local. The file did not exist, so I made one.

#!/bin/bash
cd ~
cd pult
sudo ln -s /home/ubuntu/anaconda3/etc/profile.d/conda.sh /etc/profile.d/conda.sh
conda activate pult
export FLASK_APP=hello.py
flask run

And when I run /bin/bash /etc/rc.local I get this error, and the conda environment fails to activate.

CommandNotFoundError: Your shell has not been properly configured to use 'conda activate'.
If your shell is Bash or a Bourne variant, enable conda for the current user with

    $ echo ". /home/ubuntu/anaconda3/etc/profile.d/conda.sh" >> ~/.bashrc

or, for all users, enable conda with

    $ sudo ln -s /home/ubuntu/anaconda3/etc/profile.d/conda.sh /etc/profile.d/conda.sh

The options above will permanently enable the 'conda' command, but they do NOT
put conda's base (root) environment on PATH.  To do so, run

    $ conda activate

in your terminal, or to put the base environment on PATH permanently, run

    $ echo "conda activate" >> ~/.bashrc

Previous to conda 4.4, the recommended way to activate conda was to modify PATH in
your ~/.bashrc file.  You should manually remove the line that looks like

    export PATH="/home/ubuntu/anaconda3/bin:$PATH"

^^^ The above line should NO LONGER be in your ~/.bashrc file! ^^^

I also tried:

  • putting source ~/.bashrc in line 2 (running this should put conda in PATH)
  • putting export PATH="/home/ubuntu/anaconda3/bin:$PATH" in place of line 4

But they all give the same error. What should I do, so that /bin/bash /etc/rc.local will activate the conda environment?

3
  • try using source /home/ubuntu/anaconda3/etc/profile.d/conda.sh and then do conda activate pult. lemme know if this doesnt work
    – xxbinxx
    Mar 19, 2020 at 5:37
  • @xxbinxx worked like a charm! Thanks
    – Jayeon Yi
    Mar 19, 2020 at 11:41
  • I like the quality of your question btw. Very well done. I must say you've gave it a really good try
    – xxbinxx
    Mar 20, 2020 at 4:23

1 Answer 1

7

try using

source /home/ubuntu/anaconda3/etc/profile.d/conda.sh

and then do

conda activate pult

Cheers!!

1

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.