Ubuntu備忘録:OS起動時にcondaで仮想環境に入り、アプリケーションを実行する方法

プログラム

結論

結論

アプリケーションを自動で起動するサービスを自作する

手順

  1. serviceを作成する
  2. serviceを起動する

サービスの作成方法

  • sudo vi /lib/systemd/system/apps.service
[Unit]
Description=webapps start program

[Service]
WorkingDirectory=/home/ubuntu/apps/
Type=simple
ExecStart=/bin/bash -c 'cd /home/ubuntu/apps && . /home/ubuntu/anaconda3/bin/activate venv && python apps.py'
User=ubuntu

[Install]
WantedBy=multi-user.target

ExecStartでカレントディレクトリに移動、condaで仮想環境に入る、apps.pyの実行を行っている。

注意

サービスは、root権限で行われる。そのため、conda activate 環境名 ではなく、

. /home/ubuntu/anaconda3/bin/activate 環境名 にして、サービスに登録している。

上記のようにしないと、condaがcommand not foundになってしまう。

サービス起動

下記を実行すると、次回再起動時からapps.serviceが自動起動される

  • systemctl enable apps.service
  • systemctl daemon-reload
  • systemctl start apps.service

コメント

タイトルとURLをコピーしました