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 putconda
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?
source /home/ubuntu/anaconda3/etc/profile.d/conda.sh
and then doconda activate pult
. lemme know if this doesnt work